метка / GOTO или аналогичная функция в python3 - PullRequest
2 голосов
/ 30 марта 2020

Я самообучаюсь python 3.8 У меня есть некоторый опыт работы с BATCH с функцией GOTO. Есть ли в python функция, которая копирует ее? Я знаю, что есть другой вопрос об этом. Но никто из них не отвечает, как новичок может понять это.

Например:

try:
   age = int(input('input your age: '))
   print(age)
except ValueError:
   print('Enter a value')

Допустим, я хочу перейти в начало всякий раз, когда пользователь вводит что-то другое, чем число.

Ответы [ 2 ]

1 голос
/ 30 марта 2020

Чтобы ответить на ваш ближайший вопрос, вы можете запустить бесконечный l oop (while True: потому что True всегда ... True) и break из него, когда вы довольны ответ:

while True:
    try:
       age = int(input('input your age: '))
       print(age)
       break
    except ValueError:
       print('Enter a value')

Это, по сути, минимальный ответ без изменения остальной части вашего кода.

В Python нет goto. Но вы запускаете блок кода до тех пор, пока выполняется условие или вы break вне его: while.

Вы можете увидеть пример и введение в basi c учебное пособие и более подробно об управлении потоком в следующей главе .

1 голос
/ 30 марта 2020

Вы можете использовать L oop выглядит следующим образом:

user_input = input ("Enter your Age")
con =True

while(con):
    user_input = input("Enter your Age")
    try:
        val = int(user_input)
        print("Input is an integer number. Number = ", val)
        con = False

    except ValueError:
        print("No.. input is not a number. It's a string")
        con = True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...