Только начал прикасаться к этому чуду, с программированием вообще еле знаком, поэтому можете судить строго, но помогите разобраться. Есть код:
# -*- coding: utf8 -*-
name = input(“Введите имя: ”)
age = input(“Сколько Вам лет? ”)
if age.isdigit():
age = int(age)
else:
print(“Буквы нельзя!”)
height = input(“Ваш рост? ”)
if height.isdigit():
height = int(height)
else:
print(“Буквы нельзя!”)
weight = input(“Ваш вес? ”)
if weight.isdigit():
weight = int(weight)
else:
print(“Буквы нельзя!”)
eyes = input(“Введите цвет глаз: ”)
teeth = input(“Введите цвет зубов: ”)
hair = input(“Что Вы скажете о своих волосах? ”)
print (u“Это напечатал %s” % name)
print (u“Его рост был вчера %d” % height)
print (u“Его вес %d, он совсем худой” % weight)
print (u“У него также %s глаза, %s зубы и я бы сказал о его волосах, что %s” % (eyes, teeth, hair))
print (u“Его счастливое число: %d” % (height+weight+age))
Все нравится, но охота, чтоб проверка на цифры шла постоянно а не один раз. То есть результат такой:
Сколько Вам лет? к
Буквы нельзя!
и программа выполняется дальше. Я так понимаю нужно засовывать цикл, который бы проверял такую логику: получаем строку от пользователя => отдаем проверке => проверка говорит “Буквы нельзя!”=> снова отдаем на получение.
Как сделать такую проверку? Я пятой точкой чую, что все просто, по сути надо проверять значение age while'ом, который каждый раз, как получит значение будет отдавать его на проверку, пока не получит число. Или же все еще проще и if здесь лишняя сущность?