0

所以在我的程序中有一部分我要求用户输入一个数字。我使用 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 部分运行,当用户输入一个数字时,它就停止了,不再继续代码。

4

2 回答 2

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()
于 2013-04-23T17:56:09.083 回答
0

这是什么我什至不知道。

您正在尝试将限制设置为 while 循环的布尔值和其他值的整数。

尝试以下方法之一:

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

tl; dr用while true替换while 限制

于 2013-04-23T17:58:17.150 回答