Мой код не работает - PullRequest
       9

Мой код не работает

0 голосов
/ 16 мая 2018

У меня проблема с моим кодом.Когда я ввожу цифры, он по-прежнему показывает «разрешены только цифры».Как я могу это исправить?

Это код:

age = input("What's your age? ")
while age != age.isdigit():
    print("only numbers are allowed")
    age = input("What's your age? ")
age = int(age)

1 Ответ

0 голосов
/ 16 мая 2018

Выражение age.isdigit() не не возвращает число.Возвращает либо True, либо False.Поэтому условие age != age.isdigit() сравнивает строковое значение в age с логическим значением True или False, и это никогда не оценивается как истинное.

Если вы хотите, чтобы циклпродолжить, пока age не является целочисленной строкой значения, вы можете использовать while not age.isdigit().

Вы можете также написать это следующим образом:

 while true:
      age = input("What's your age? ")
      if age.isdigit():
           break

 age = int(age)

, который, как мне кажется, легче понять, посколькувам не нужно повторять запрос ввода, и вы не используете отрицательное условие.

...