所以我试图用Python写一个程序,要求用户以dd/mm/yyyy
格式输入他们的生日,而不是通过比较输入的mm
来确认他们的生日。 12个月的列表,然后显示类似"因此您出生于(月= mm),(dd),(年= YYYY)。我不太确定如何将int.input与(月,月,月)=范围1-13进行比较,以将变量月份导入打印字符串。
但主要问题是将输入年与广泛的可能性进行比较
rat range (1901, 2020, 12)
ox range (1902, 2020, 12)
tiger range (1903, 2020, 12)
rabbit range (1904, 2020, 12)
dragon range (1905, 2020, 12)
snake range (1906, 2020, 12)
horse range (1907, 2020, 12)
goat range (1908, 2020, 12)
monkey range (1909, 2020, 12)
rooster range (1910, 2020, 12)
dog range (1911, 2020, 12)
pig range (1912, 2020, 12)
我知道我可以自己设置每个日期,但至少有100个不同的变量或if
语句。有没有办法设置一个数字变量有增量,如
A = 1901 + 12 (continued)
所以,如果任何年份= 1901或系列中的任何数字,如1913或1937,或者设置一个范围变量,可以等同于用户输入的int?
答案 0 :(得分:0)
您可以向用户询问他的生日answer = raw_input()
,使用“尝试”检查转换为日期是否有效:
from datetime import datetime
while true:
print 'Input date (DD/MM/YYYY)'
answer = raw_input()
try:
date = datetime.strptime(answer, '%d/%m/%Y')
print 'So you were born in {}'.format(date.month)
break
except:
pass