尝试/除外 - 如何继续

时间:2013-04-23 17:51:13

标签: python exception try-catch

所以我的程序中有一部分要求用户输入一个数字。我使用try / exept作为:

limits=True
while limits:
        try:
            limits=int(input("Put your limit:"))
            return limits
        except(ValueError):
            print("Thats not a number!")

我的问题是,如果用户确实输入了一个数字,我怎样才能继续使用包含稍后在我的代码中输入的用户的变量limits

之后,try / except部分运行,当用户输入一个数字时它就停止,不继续使用代码。

2 个答案:

答案 0 :(得分:3)

您的代码中根本不需要limits

def get_limit():
    while True:
        try:
            return int(input("Enter your limit: "))
        except(ValueError):
            print("That's not a number!")

要在代码中稍后使用该值,只需将函数的返回值赋给某个​​变量:

limit = get_limit()

答案 1 :(得分:0)

这是什么,我甚至没有。

你试图限制while循环的布尔值和其他东西的整数。

尝试以下方法之一:

  • 制作一个while循环来检查输入的有效性,而不是 尝试将其作为布尔值
  • 读取
  • 制作一个真正的循环,如果输入正确,它将在return语句中断开。

tl; dr使用替换限制,而为true