这应该是商店中系统的代码,如果有人要购买其他产品,该系统会一次又一次地循环。请帮忙。
menu=["apple","water","juice"]
apple=50
water=80
juice=100
money=int(input("How much money in pennies do you have?"))
if money>=100:
print("We have the following items you can buy: apple, water, juice")
elif money>=80 and money<=100:
print("We have the following items you can buy: apple, water")
elif money>=50 and money<=80:
print("We have the following item you can buy: apple")
else:
print("Sorry, you can't buy anything.")
buy=input("What do you want to buy?")
if buy=="apple":
print("You have",money-50)
elif buy=="water":
print("You have",money-80)
else:
print("You have",money-100)
other=(input("Do you want to buy anything else?"))
if other=="yes":
while x=0:
print(x)
continue
elif other=="no":
x+1
else:
print("Error")
最后一部分不起作用-有人可以修复它吗?这是Python 3-谢谢。
答案 0 :(得分:0)
已解决问题并已优化循环-
您遇到的问题是输入功能周围的括号()
。
由于您的整个购买周期现在都在此while True:
循环中,因此该循环已得到优化。它会一次又一次地重复,直到用户在另一个问题上输入与“是”不同的内容为止。
while True:
menu=["apple","water","juice"]
apple=50
water=80
juice=100
money=int(input("How much money in pennies do you have?"))
if money>=100:
print("We have the following items you can buy: apple, water, juice")
elif money>=80 and money<=100:
print("We have the following items you can buy: apple, water")
elif money>=50 and money<=80:
print("We have the following item you can buy: apple")
else:
print("Sorry, you can't buy anything.")
buy=input("What do you want to buy?")
if buy=="apple":
print("You have",money-50)
elif buy=="water":
print("You have",money-80)
else:
print("You have",money-100)
other=input("Do you want to buy anything else?")
if other=="yes":
continue
else:
break
答案 1 :(得分:0)
other=(input("Do you want to buy anything else?"))
if other=="yes":
while x=0: <-- should use x==0, but x is not declared
print(x) <-- wrong indentation
continue
elif other=="no":
x+1 <-- even if x was declared, this only sum and nothing
else: more (nothing changes in your program)
print("Error")
最后一部分即使有效,也基本上没有任何用处。我建议您使用其他答案中发布的代码。