首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试,除非使用break

尝试,除非使用break
EN

Stack Overflow用户
提问于 2021-03-10 07:57:47
回答 1查看 20关注 0票数 0

我正在尝试创建一个代码,将来自用户的输入附加到alimentos_taco字典中。

代码的想法是:有一本书,人们在书中搜索特定的食物,这些食物有特定的编号(例如:莱斯= 78)。因此,person在第一个输入中键入,保留用于食物编号(例如: 78),在此之后,person键入第二个输入,保留用于食物克。如果没有更多的食物编号可供输入,则用户应按enter,以停止将数字附加到字典中。但是我遇到了一些问题,因为当我输入ENTER时,循环就会重新开始。对不起,我的英语不好。

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2021-03-10 08:07:58

看起来问题在于,在尝试将输入转换为整数之后,您正在尝试将输入与空字符串进行比较。因此,当您输入空字符串时,在您的代码可以到达if语句之前就会出现错误。通过在if语句后转换为整数,我认为问题就解决了。

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66556460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档