<p>你在正确的轨道上。您可以创建一本字典来存储中国的生肖。因为有12个,为了简化数学计算,让我们每年得到12的模数值。这使得mod 0=Monkey,。。。mod 11=山羊</p>
<p>这样,您就可以执行第%12年的操作,结果将是一个数字,我们可以使用该数字从字典<code>d</code>中提取值。从字典中提取值的方法是<code>dict[key]</code>。在我们的例子中<code>d[0]</code>将给出<code>Monkey</code></p>
<p>这样,我们就可以编写如下程序:</p>
<pre><code>#define the dictionary with keys. Numbers 0 thru 11 as keys and Zodiac sign as values
d={0:'Monkey',1:'Rooster',2:'Dog',3:'Pig',4:'Rat',5:'Ox',
6:'Tiger',7:'Rabbit',8:'Dragon',9:'Snake',10:'Horse',11:'Goat'}
#define a function that receives the birth year, then returns the Zodiac sign
#as explained earlier we do dict[key]
#year%12 will give the key to use
def chinese_yr(cy):
return d[cy%12]
#get an input from the user. To ensure the value is an int,
#use the statement within a try except statement
while True:
try:
yr = int(input ('enter year :'))
break
except:
print ('Invalid entry. Please enter year')
#call the function with the year as argument
print (chinese_yr(int(yr)))
</code></pre>
<p>其输出将为:</p>
<pre><code>enter year :2011
Rabbit
enter year :2001
Snake
enter year :2020
Rat
enter year :2021
Ox
</code></pre>