Python 如何使try/except循环直到true

Python 如何使try/except循环直到true,python,try-except,Python,Try Except,如何使这个try语句循环到true?我建议将您的逻辑放在try块中,只打印异常时的错误消息: 为True时: 尝试: 天数=整数(输入(“输入天数:”) 打破 除值错误外: 打印(“无效输入。应为整数值。请重试。”) 此外,除了,您不应该使用裸。这是一种糟糕的做法。将其包装在中,同时像这样循环: 为True时:#在到达'break'之前不要退出! 天数=输入(“输入天数:”)#将此项移到此处,以便始终定义“天数” 尝试: num_days=int(days)#保存到一个变量以供以后使用 bre

如何使这个try语句循环到true?

我建议将您的逻辑放在
try
块中,只打印异常时的错误消息:

为True时:
尝试:
天数=整数(输入(“输入天数:”)
打破
除值错误外:
打印(“无效输入。应为整数值。请重试。”)

此外,除了,您不应该使用裸
。这是一种糟糕的做法。

将其包装在
中,同时像这样循环:

为True时:#在到达'break'之前不要退出!
天数=输入(“输入天数:”)#将此项移到此处,以便始终定义“天数”
尝试:
num_days=int(days)#保存到一个变量以供以后使用
break#如果转换成功,它将运行此操作并退出循环
ValueError除外:#如果转换失败(始终指定特定的异常!),请打印以下内容:
print('输入无效。应为整数值。请重试')

制作一个while语句和一个变量,在int(天)之后结束它:


使用
while
循环。比我快20秒!:)@赛斯哈哈哦。是的,在你的字典里没有定义天数。
try
块总是运行。哦,我现在看到了。欢迎使用堆栈溢出!快速提示:
未完成
通常比
完成==False
好!这不起作用,因为无法访问
days
。您将在
try int(days)
上收到
namererror
,因为它尚未定义。这不是全部代码,请查看其他答案。什么?其他答案都安全地定义了
天数
,然后再尝试将其转换为
int
。你的代码没有这样做。是的,我已经删除了我的否决票。我投了否决票,因为你的代码将崩溃,而不是因为我不喜欢它。希望你不要把它当回事。
try:
    int(days)
except:
    print('Invalid input. A integer value was expected. Try again.')
    days = (input("Enter the number of days: ", ))
days = int(input("Enter the number of days: "))
done = False
while done == False:
    try:
        int(days)
        done = True
    except:
        print('Invalid input. A integer value was expected. Try again.')
        days = (input("Enter the number of days: ", ))