编写一个程序来计算客户在购买物品时要支付的总金额.清单附有价格



"编写一个程序来计算客户在购买物品时要支付的总金额。该程序应显示五(5(个项目及其相应价格的列表。用户从列表中选择项目,并输入要购买的项目编号(基于列表(和每个要购买项目的数量。此操作将重复进行,直到用户不再选择项目为止。该程序将显示客户要支付的总金额">

这是我需要制作的程序类型,下面是我制作的代码,但当我选择第二项时,它会停止,我不知道它为什么会这样做。


Apple=40.00
Banana=30.00
Fish=100.00
Bread=45.00
Milk=20.00
price=0.00
print("Apple: Php 40.00")
print("Banana: Php 30.00")
print("Fish: Php 100.00")
print("Bread: Php 45.00")
print("Milk: Php 20.00")
while True:
choice=input('nChoose an item: Apple, Banana, Fish, Bread, Milkn')
if choice == 'Apple':
choice=input('Would you like to pick another order? y/nn')
if choice == 'y':
choice=input('nChoose an item: Apple, Banana, Fish, Bread, Milkn')
else:
for cost in price:
sum += cost
break
print("Total cost: Php",sum)
print(" ")
elif choice == 'Banana':
choice=input('Would you like to pick another order? y/nn')
if choice == 'y':
choice=input('nChoose an item: Apple, Banana, Fish, Bread, Milkn')
else:
for cost in price:
sum += cost
break
print("Total cost: Php",sum)
print(" ")
elif choice == 'Fish':
choice=input('Would you like to pick another order? y/nn')
if choice == 'y':
choice=input('nChoose an item: Apple, Banana, Fish, Bread, Milkn')
else:
for cost in price:
sum += cost
break
print("Total cost: Php",sum)
print(" ")
elif choice == 'Bread':
choice=input('Would you like to pick another order? y/nn')
if choice == 'y':
choice=input('nChoose an item: Apple, Banana, Fish, Bread, Milkn')
else:
for cost in price:
sum += cost
break
print("Total cost: Php",sum)
print(" ")
elif choice == 'Milk':
choice=input('Would you like to pick another order? y/nn')
if choice == 'y':
choice=input('nChoose an item: Apple, Banana, Fish, Bread, Milkn')
else:
for cost in price:
sum += cost
break
print("Total cost: Php",sum)
print(" ")
else: 
print("Error!")
break

原因可能是您在while循环结束时中断。当你检查用户是否输入了错误的东西时,它应该在你的else中。此外,我想分享您的简化代码。我可能遗漏了一两件事,但这是使用词典的基本想法。

#create our dictionary, shopping items as keys and price of items as values
shoppingDict = {"Apple":40.00,"Banana":30.00,"Fish":100.00,"Bread":45.00,"Milk":20.00}
#iterate through the dictionaries items printing them out in a certain format
for k,v in shoppingDict.items():print(f'{k}: Php {v}')
while True:
#prompt user to enter an item
choice=input('nChoose an item: Apple, Banana, Fish, Bread, Milkn')
#check if that item is found in the dictionary
#if so add the key's value(price) to price
try:price += shoppingDict.get(choice)
#if the user does not enter a valid item, we will print error
except KeyError:print('Error')
#ask them if they want to play again
if input('Would you like to go again? y/n') == 'n':
print(f'Total Cost: {price}')
break

查看此处了解有关字典的更多信息

最新更新