该项目要求我们将每个番茄酱包用户想要的总成本增加0.25。我遇到的主要问题是试图使每个数据包的成本增加0.25。例如,对于4个数据包,总成本将增加1.00。此外,可以帮助我也使它的地方,如果他们输入任何东西以外的整数,它将停止代码
我的这部分代码如下
print("How many ketchup packets would you like? The Cost is 0.25 every packet.")
ketchupPack = input("How many packets do you want? Please enter a positive integer if possible.")
ketchupPack=int(ketchupPack)
if(ketchupPack>=1):
print("Thanks for entering the amount of Ketchup you would like!")
totalCost + 0.25
print("The total cost of your meal so far is $" + str(round(totalCost,2)))
else:
print(totalCost)
您的代码有几个问题
首先,你的缩进是错误的;
if
和else
块中的代码必须缩进。如果没有,将抛出一个SyntaxError
其次,
totalCost + 0.25
不做你想做的事;它是一个表达式,不是语句,并且不会更改变量的值(有关详细信息,请参见here)。要实际更改其值,需要使用totalCost = totalCost + 0.25
,也可以缩写为totalCost += 0.25
有了这样的变化,不管买了多少番茄酱,你仍然只在
totalCost
上增加了0.25。您需要将数据包的数量乘以0.25才能得到正确的值至于处理} statement 。这些语句允许您尝试运行代码,并且在抛出异常的情况下,运行不同的代码来解释异常
ketchupPack
的非整数输入,可以使用a ^{有了这些更改,您的代码应该如下所示:
现在,如果转换为整数失败,它将打印
"Invalid input: defaulting to 1000000 ketchup packs."
,并将ketchupPacks
设置为1000000,因为每个人都喜欢番茄酱另一个选项是创建一个循环并继续请求输入,直到输入为有效的整数值,然后从循环中断,如下所示:
这将持续获取用户输入并尝试将其转换为整数。如果转换成功,程序将退出循环。否则,将运行
except
语句,通知用户其输入无效。循环将继续迭代,直到输入有效值相关问题 更多 >
编程相关推荐