[英]Python - Append index from list of orders as a tuple
我需要定义一个名为 order_list(index_of_item, list_of_stocks, order_list) 的 function,它将索引、产品列表和订单列表作为参数。
这个 function 应该:
-> Append 一个元组,由库存列表指定索引处的产品描述和价格组成,并添加到订单列表中。
-> 从库存清单中产品的数量值中减去 1。
-> 如果现在数量为 0,则从库存清单中删除该产品。
这是此 function 的工作示例 -
测试:
items = ['11,Coca Cola Soft Drink 500ml,4,2', '12,L & P Soft Drink Lemon & Paeroa 500ml,4,1', '13,V Blue Drink can 500mL,3.5,8', '14,V Vitalise Energy Drink 500ml,3.5,5']
orders = []
add_to_orders(0, items, orders)
add_to_orders(1, items, orders)
print(orders)
print(items[0])
print(items[1])
产品列表中的项目描述如下 -
'11,可口可乐汽水 500ml,4,2'
这里11是该产品的代码,可口可乐软饮料 500 毫升- 产品名称, 4是产品的价格(4 美元),2 是产品的数量。
OUTPUT 预计:
[('Coca Cola Soft Drink 500ml', '4'), ('L & P Soft Drink Lemon & Paeroa 500ml', '4')]
11,Coca Cola Soft Drink 500ml,4,1
13,V Blue Drink can 500mL,3.5,8
这是我写的代码,但这只会正确打印第一行。 我不知道如何更改产品数量的值(减 1)
def order_list(index_of_item, list_of_stocks, order_list) :
list1 = []
for index in range(len(list_of_stocks)):
list_of_items = list_of_stocks[index].split(",")
item = list_of_items[1]
price = list_of_items[2]
qty = int(list_of_stocks[index][-1])
list1.append((item, price))
orders.append(list1[index_of_item])
尝试:
def add_to_orders(index_of_item, list_of_stocks, order_list):
item = list_of_stocks[index_of_item]
code, name, price, quantity = item.split(',')
quantity = int(quantity)
order_list.append((name, price))
quantity -= 1
if quantity >= 1:
list_of_stocks[index_of_item] = ','.join([code, name, price, str(quantity)])
else:
del list_of_stocks[index_of_item]
解释:
我首先根据提供的索引并使用split
将不同的项目从库存中取出。 然后我只将quantity
转换为 integer 因为我们会从中减去 1。
到现在为止,您已经准备好 append 您想要orders
的元组列表。
之后,您只需检查数量是否达到零。 如果没有,请使用','.join([code, name, price, str(quantity)])
以原始格式构建一个新字符串
测试:
items = ['11,Coca Cola Soft Drink 500ml,4,2',
'12,L & P Soft Drink Lemon & Paeroa 500ml,4,1',
'13,V Blue Drink can 500mL,3.5,8',
'14,V Vitalise Energy Drink 500ml,3.5,5']
orders = []
add_to_orders(0, items, orders)
add_to_orders(1, items, orders)
print(orders)
print(items[0])
print(items[1])
output:
[('Coca Cola Soft Drink 500ml', '4'), ('L & P Soft Drink Lemon & Paeroa 500ml', '4')]
11,Coca Cola Soft Drink 500ml,4,1
13,V Blue Drink can 500mL,3.5,8
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.