Zodiac程序,使用incrementle Ranges比较int.input到变量

时间:2014-10-07 15:03:23

标签: python variables range

所以我试图用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?

1 个答案:

答案 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