Я очень плохо знаком с программированием (Python), и для своего первого проекта я делаю программу мини-опроса, которая сообщает пользователю их знак зодиака в зависимости от их дня рождения.Я хочу поместить в сообщение об ошибке зацикливания, если они вводят нецелую или недопустимую дату, то есть что-то, что говорит «неверный день рождения, пожалуйста, попробуйте снова» и повторяется снова и снова, пока они не введут что-то действительное.Проблема в том, что я не уверен, какой цикл использовать и где его поставить (в самом конце?)
Вот код программы:
print('Hello SDSA!')
print('What is your name?')
myname = input()
print('Nice to meet you, ' + myname + '!')
print('How old are you?')
myage = input()
print('Amazing. Could you tell me your birthday?' + '(Please input your birthday in mmdd format.)')
bd = input()
if int(bd) in range(321,332) or int(bd) in range(401,421):
print("You're a " + myage + "-year-old Aries!")
zod = 'Aries'
elif int(bd) in range(421,431) or int(bd) in range(501,522):
print("You're a " + myage + "-year-old Taurus!")
zod = 'Taurus'
elif int(bd) in range(522,531) or int(bd) in range(601,622):
print("You're a " + myage + "-year-old Gemini!")
zod = 'Gemini'
elif int(bd) in range(622,631) or int(bd) in range(701,723):
print("You're a " + myage + "-year-old Cancer!")
zod = 'Cancer'
elif int(bd) in range(723,731) or int(bd) in range(801,823):
print("You're a " + myage + "-year-old Leo!")
zod = 'Leo'
elif int(bd) in range(823,832) or int(bd) in range(901,923):
print("You're a " + myage + "-year-old Virgo!")
zod = 'Virgo'
elif int(bd) in range(923,931) or int(bd) in range(1001,1023):
print("You're a " + myage + "-year-old Libra!")
zod = 'Libra'
elif int(bd) in range(1023,1031) or int(bd) in range(1101,1122):
print("You're a " + myage + "-year-old Scorpio!")
zod = 'Scorpio'
elif int(bd) in range(1122,1131) or int(bd) in range(1201,1222):
print("You're a " + myage + "-year-old Sagittarius!")
zod = 'Sagittarius'
elif int(bd) in range(1222,1231) or int(bd) in range(101,121):
print("You're a " + myage + "-year-old Capricorn!")
zod = 'Capricorn'
elif int(bd) in range(121,131) or int(bd) in range(201,220):
print("You're a " + myage + "-year-old Aquarius!")
zod = 'Aquarius'
elif int(bd) in range(220,230) or int(bd) in range(301,321):
print("You're a " + myage + "-year-old Pisces!")
zod = 'Pisces'