映射的类型:字典
字典包含哈希值和指向的对象:{"哈希值":"对象"}、{'length':100,'width':60}
为什么字典包含哈希值和指向的对象?
答:Python字典实现
下面字典案例实现每次输入所选生肖和星座次数统计:
chinese_zodiac_2018 = '猴鸡狗猪鼠牛虎兔龙蛇马羊'
zodiac_name = (u'摩羯座', u'水瓶座', u'双鱼座', u'白羊座', u'金牛座', u'双子座',
u'巨蟹座', u'狮子座', u'处女座', u'天秤座', u'天蝎座', u'射手座')
zodiac_days = ((1, 20), (2, 19), (3, 21), (4, 21), (5, 21), (6, 22),
(7, 23), (8, 23), (9, 23), (10, 23), (11, 23), (12, 23))
cz_num = {}
for i in chinese_zodiac_2018:
cz_num[i] = 0
#字典推导式方式
cz_num = {i:0 for i in chinese_zodiac_2018}
z_num = {}
for i in zodiac_name:
z_num[i] = 0
#字典推导式方式
z_num = {i:0 for i in zodiac_name}
while True:
int_year = int(input('请输入年份:'))
int_month = int(input("请输入月份:"))
int_day = int(input("请输入日期:"))
n = 0
while zodiac_days[n] < (int_month,int_day):
if int_month == 12 and int_day >23:
break
elif int_month > 12 or int_day > 31:#如果月份和日期超出正常范围默认选择0
break
n +=1
print(zodiac_name[n])
print("%s 年的生肖是 %s" % (int_year, chinese_zodiac_2018[int_year % 12]))
cz_num[chinese_zodiac_2018[int_year % 12]] += 1
z_num[zodiac_name[n]] += 1
for each_key in cz_num.keys():
print('生肖 %s 有 %d 个' %(each_key,cz_num[each_key]))
for each_key in z_num.keys():
print('星座 %s 有 %d 个' %(each_key,z_num[each_key]))
网友评论