首页 > 解决方案 > python3,多个输入的值异常,正确的顺序?

问题描述

我是 pycharm 的初学者。

找不到答案如何检查多个 Integer 输入,并带有Value Error Exception。我的代码现在是:

while True:
    try:
        num1 = int(input("Give first Integer: "))
        num2 = int(input("Give second Integer: "))
        break
    except ValueError:
        print("You need Integer!")

但问题很少。运行代码和输出是:

Give first Integer: 1
Give second Integer: w
You need Integer!
Give first Integer:

不知道如何重建代码,循环从 num2 开始,当 Value 为 false 时。并且光标在输入位置上还没有准备好,对于 num1,他在 Line 中的位置 1 上闪烁。Num1 异常有效

有问题:

问候。

标签: python-3.xexceptionintegermultiple-instances

解决方案


嗯,可能有更多的pythonic方式,但这样做:

while True:
    try:
        num1 = int(input("Give first Integer: "))
        break
    except ValueError:
        print("You need Integer!")
while True:
    try:
        num2 = int(input("Give second Integer: "))
        break
    except ValueError:
        print("You need Integer!")

样本输出:

Give first Integer: R
You need Integer!
Give first Integer: 4
Give second Integer: NO
You need Integer!
Give second Integer: Nope
You need Integer!
Give second Integer: -12 

方法 2 带有一个 while 循环:

valid = []
while True:
    try:
        num = int(input("Give an Integer: "))
        valid.append(num)
        if len(valid) == 2:
            break
    except ValueError:
        print("You need Integer!")
num1, num2 = valid
print("The entered integers are: ", num1, num2)

样本输出:

Give an Integer: NOOO
You need Integer!
Give an Integer: 45
Give an Integer: again?
You need Integer!
Give an Integer: okay
You need Integer!
Give an Integer: 4
The entered integers are:  45 4

推荐阅读