美文网首页编程
Python基础学习3

Python基础学习3

作者: ericblue | 来源:发表于2018-11-14 14:00 被阅读0次

映射的类型:字典
字典包含哈希值和指向的对象:{"哈希值":"对象"}、{'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]))

相关文章

网友评论

    本文标题:Python基础学习3

    本文链接:https://www.haomeiwen.com/subject/ixuffqtx.html