我正在尝试创建一个代码,将用户输入添加到alimentos_taco字典中。
代码的思想是:有一本书,人们在其中搜索特定的食物,这些食物有特定的数字(例如:米饭= 78)。因此,人在第一个输入中输入食物的数量(例如:78),然后,人在第二个输入中输入食物的克数。如果没有更多的食物编号要输入,这个人应该按enter键,停止向字典中添加数字。但我有问题,因为当我输入ENTER,循环开始回来。对不起,我的英语不好。
alimentos_taco = {}
alimentos_taco["Número"] = []
alimentos_taco["Quantidade (em gramas)"] = []
while True:
try:
number = int(input("Type the food number (or type ENTER if you don't have more foods"))
if number == "":
break
alimentos_taco["Número"].append(number)
except ValueError:
print("Type a valid number:")
continue
try:
quantidade = int(input("Type the food quantity (in grams)"))
alimentos_taco["Quantidade (em gramas)"].append(quantidade)
except ValueError:
print("Type only numbers")
continue
看起来问题是,您试图将输入与空字符串进行比较,然后将其转换为整数。因此,当您输入一个空字符串时,在代码到达if语句之前就会出现错误。通过在if语句后转换为整数,我认为问题已经解决了。
alimentos_taco = {}
alimentos_taco["Número"] = []
alimentos_taco["Quantidade (em gramas)"] = []
while True:
try:
number = input("Type the food number (or type ENTER if you don't have more foods")
if number == "":
break
alimentos_taco["Número"].append(int(number))
except ValueError:
print("Type a valid number:")
continue
try:
quantidade = int(input("Type the food quantity (in grams)"))
alimentos_taco["Quantidade (em gramas)"].append(quantidade)
except ValueError:
print("Type only numbers")
continue