2016-07-13 5 views
-2

Я попадаю в бесконечный цикл, когда я ввожу нецелое число. Как это исправить? Вот мой код:выйти из бесконечного цикла?

def inputInt(integer): 
    while True: 
     try: 
      result = int(integer) 
     except ValueError: 
      print ('Invalid input - Try again') 
      continue 
     break 
    return result 
value = input (' Enter a value:') 
number = inputInt(value) 
print ('The value is',number) 
+3

попросить пользователя ввести целое число внутри функции – Julien

+1

Как пользователь может попробовать еще раз, как вы только вход вне цикла? –

+0

continue начинает цикл while с тем же значением – Jens

ответ

1

Вы пытаетесь достичь чего-то подобного?

def inputInt(acceptAny): 
    while True: 
     try : 
      value = input (' Enter a value:') 
      value = int(value) 
     except ValueError: 
      if acceptAny: 
       break 
      else: 
       print ('Invalid input - Try again') 
      continue 
     break 
    return value 

if __name__ == "__main__": 
    number = inputInt(False) 
    print ('The value is',number) 
Смежные вопросы