python3, Значение исключения на нескольких входах, правильная последовательность? - PullRequest
0 голосов
/ 05 октября 2018

я новичок на пичарме.

Не найти ответ как проверить множественный целочисленный ввод , с Значение Ошибка исключения .Мой код таков:

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, когда значение false.А также Курсор не готов на месте ввода, для num1 он мигает на Postion 1 в строке. Num1 Исключение работает .

В вопросе:

  • Если num2 не является целым числом, мне нужно вставить num1 снова.Как вставить num2 только в том случае, если значение num2 равно false?
  • Курсор переходит на позицию pos1 во второй строке с запросом на ввод "Give first Integer:".Как поставить курсор на нужное место, после ":"?

С уважением.

1 Ответ

0 голосов
/ 05 октября 2018

Хм, возможно, есть и более питонический способ, но он делает это:

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
...