无法使我的else语句在while循环中打印

时间:2016-10-28 23:34:40

标签: python if-statement while-loop

对于Python来说还是一个新手,所以如果此处的任何内容都关闭,我会道歉。这是一个程序,您输入一个数字,然后取回一个值。你必须输入一个数字,所以我试图让它说'#34;需要不同的值"当用户输入字符串时。但是,我在输入周围有一个int(),这意味着当我输入一个字符串时出现以下错误:

  

ValueError:具有基数10的int()的无效文字

我的代码如下:

prev

我知道拥有所有那些精灵可能是一个坏主意,所以我最终会将其合并为一个公式。如前所述,我的主要目标是,我想要这样做,以便打印出所需的不同价值"当用户输入字符串时。我考虑过一个尝试/除外的陈述,但如果我正确地理解它们,它们并不是真正用于计算和打印的东西,也不能用这些优点。

2 个答案:

答案 0 :(得分:1)

int转换包裹在try / except块中。

while True:
    try:
        OVR = int(input('OVR?'))
    except ValueError:
        print('different values needed')
        continue
    # OVR an integer value, handle it as needed...

答案 1 :(得分:0)

您可以使用try / except语句打印邮件。

try:
    OVR = int(input("OVR?"))
except ValueError:
    print("different values needed")