Python实验报告——第4章 序列的应用

实验报告

  • 实例01:输出每日一贴

代码如下:

import datetime     #导入日期时间类
#定义一个时间表
mot = ['今天星期一:\n坚持下去不是因为我很强,而是因为我别无选择。',
       '今天星期二:\n含泪播种的人一定能笑着收获。',
       '今天星期三:\n做对的事情比把事情做对更重要。',
       '今天星期四:\n命运给予我们的不是失望之酒,而是机会之杯。',
       '今天星期五:\n不要等到明天,明天太遥远,今天就行动。',
       '今天星期六:\n求知若饥,虚心若愚。',
       '今天星期日:\n成功将属于那些从不说“不可能”的人。']
day=datetime.datetime.now().weekday()     #获取当前星期
print(mot[day])                          #输出每日一贴

运行结果如下:

 

  • 实例02:分两列显示2017~2018赛季NBA西部联盟前八名的球队

代码如下:

 

 

print('2017~2018赛季NBA西部联盟前八名\n')
team = ['火箭','勇士','开拓者','雷霆','爵士','鹈鹕','马刺','森林狼']
for index,item in enumerate(team):
    if index%2 == 0:                #判断是否为偶数,为偶数时不换行
        print(item +'\t\t\t', end='')
    else:
        print(item +'\n')            #换行

运行结果如下:

 

  • 实例03:向NBA名人堂列表中追加2018年新加入的球星

代码如下:

#NBA名人堂原有人员
oldlist = ['飞人迈克尔·乔丹','天勾卡里姆·阿布杜尔·贾巴尔','哈吉姆·奥拉朱旺','查尔斯·巴克利','小巨人姚明']
newlist = ['贾森·基德','史蒂夫·纳什','格兰特·希尔']     #新增人员列表
oldlist.extend(newlist)                           #追加新球星
print(oldlist)                                    #显示新的NBA名人堂列表

运行结果如下:

 

 

 

  •  实例04:使用二维列表输出不同版式的古诗

代码如下:

str1 = '千山鸟飞绝'
str2 = '万径人踪灭'
str3 = '孤舟蓑笠翁'
str4 = '独钓寒江雪'
verse = [list(str1),list(str2),list(str3),list(str4)]    #定义一个二维列表
print('\n--横版--\n')
for i in range(4):                                       #循环古诗的每一行
    for j in range(5):                                   #循环每一行的每个字(列)
        if j == 4:                                       #如果是一行中的最后一个字
            print(verse[i][j])                           #换行输出
        else:
            print(verse[i][j],end='')                    #不换行输出

verse.reverse()                                          #对列表进行逆序排列
print('\n--竖版--\n')
for i in range(5):                                       #循环每一行的每个字(列)
    for j in range(4):                                   #循环新逆序排列后的第一行
        if j == 3:                                       #如果是最后一行
            print(verse[j][i])                           #换行输出
        else:
            print(verse[j][i],end='')                    #不换行输出

运行结果如下:

 

 

 

  • 实例05:使用元组保存咖啡馆里提供的咖啡名称

代码如下:

#定义元组
coffeename = ('蓝山','卡布奇诺','曼特宁','摩卡','麝香猫','哥伦比亚')
#输出元组
print(coffeename)

运行结果如下:

 

  • 实例06:使用for循环列出咖啡馆里的咖啡名称

代码如下:

coffeename = ('蓝山','卡布奇诺','曼特宁','摩卡','麝香猫','哥伦比亚')       #定义元组
print('您好~欢迎光临~依米咖啡馆~\n\n我店有:\n')
for name in coffeename:                                             #遍历元组
    print(name +'咖啡',end =' ')

运行结果如下:

 

  • 实例07:分两列显示2017-2018赛季NBA西部联盟前八名球队

代码如下:

print('2017~2018赛季NBA西部联盟前八名\n')
team = ['火箭','勇士','开拓者','雷霆','爵士','鹈鹕','马刺','森林狼']
for index,item in enumerate(team):
    if index%2 == 0:                #判断是否为偶数,为偶数时不换行
        print(item +'\t\t\t', end='')
    else:
        print(item +'\n')            #换行输出

运行结果如下:

 

 

 

  •  实例08:将麝香猫咖啡替换为拿铁咖啡

 代码如下:

#定义元组
coffeename = ('蓝山','卡布奇诺','曼特宁','摩卡','麝香猫','哥伦比亚')
#将“麝香猫”替换为“拿铁”
coffeename = ('蓝山','卡布奇诺','曼特宁','摩卡','拿铁','哥伦比亚')
print(coffeename)

运行结果如下:

 

 

 

  •  实例09:创建一个保存女神星座的字典

代码如下:

name = ['绮梦','冷伊一','香凝','黛兰']        #作为键的列表
sign = ['水瓶座','射手座','双鱼座','双子座']   #作为值的列表
dictionary = dict(zip(name,sign))         #转换为字典
print(dictionary)

 

运行结果如下:

 

 

 

  • 实例10:根据星座测试性格特点

代码如下:

name = ['绮梦','冷伊一','香凝','黛兰']               #作为键的列表
sign_person = ['水瓶座','射手座','双鱼座','双子座']   #作为值的列表
person_dict = dict(zip(name,sign_person))        #转换为个人字典
sign_all =['白羊座','金牛座','双子座','巨蟹座','狮子座','处女座','天秤座','天蝎座','射手座','摩羯座','水瓶座','双鱼座']
nature = ['有一种让人看见就觉得开心的感觉,阳关、乐观、坚强,性格直来直去,就是有点小脾气。',
          '很保守,喜欢稳定,一旦有什么变动就会觉得心里不踏实,性格比较慢热,是个理财高手。',
          '喜欢追求新鲜感,有点小聪明,耐心不够·,因你的可爱性格会让很多人喜欢和你做朋友',
          '情绪容易敏感,缺乏安全感,做事情有坚持到底的毅力,为人重情义,对家人和朋友特别忠实。',
          '有着远大的理想,总想靠自己的努力成为人上人,总是期待被仰慕和崇拜的感觉。',
          '坚持追求自己的完美主义者',
          '追求平等、和谐,交际能力强,因此朋友多。最大的缺点就是面对选择总是犹豫不决。',
          '精力旺盛,占有欲强,对于生活很有目标,不达目的誓不罢休,复仇心重。',
          '崇尚自由,勇敢、果断、独立、,身上有一股勇往直前的劲儿,只要想做,就能做。',
          '是最有耐心的,做事最小心。做善事脚踏实地,比较顽固,不达目的不罢休。而且非常勤奋。',
          '人很聪明,最大的特点是创新,追求独一无二的生活,个人主义色彩很浓重的星座。',
          '集所有星座的优缺点于一身。最大的优点是有一颗善良的心,愿意帮助别人。']
sign_dict = dict(zip(sign_all,nature))                                   #转换为星座字典
print('【香凝】的星座是',person_dict.get('香凝'))                            #输出星座
print(' \n 她的性格特点是:\n\n',sign_dict.get(person_dict.get('香凝')))     #输出性格特点

 

运行结果如下:

 

 

 

  • 实例11:应用字典推导式实现根据名字和星座创建一个字典

代码如下:

 

name = ['绮梦','冷伊一','香凝','黛兰']               #作为键的列表
sign = ['水瓶','射手','双鱼','双子']                 #作为值的列表
dictionary = {i:j+''for i,j in zip(name,sign)}  #使用列表推导式生成字典
print(dictionary)                                #使用转换后字典

 

运行结果如下:

 

  • 实例12:创建保存学生选课信息的集合

代码如下:

python = {'绮梦','冷伊一','香凝','梓轩'}               #保存选择Python语言的学生姓名
c = {'冷伊一','零语','梓轩','圣博'}                    #保存选择C语言的学生姓名
print('选择Python语言的学生有:',python,'\n')          #输出选择Python语言的学生姓名
print('选择C语言的学生有:',c)                         #输出选择C语言的学生姓名

 运行结果如下:

 

  • 实例13:学生更改选学课程

代码如下:

python = set(['绮梦','冷伊一','香凝','梓轩'])     #保存选择Python语言的学生姓名
python.add('零语')                             #添加一个元素
c = set(['冷伊一','零语','梓轩','圣博'])          #保存选择C语言的学生姓名
c.remove('零语')                               #删除指定元素
print('选择Python语言的学生有:',python,'\n')     #输出选择Python语言的学生姓名
print('选择C语言的学生有:',c)                    #输出选择C语言的学生姓名

 

运行结果如下:

 

  •  实例14:对选课集合进行交集、并集和差集运算

代码如下:

python = set(['绮梦','冷伊一','香凝','梓轩'])               #保存选择Python语言的学生姓名
c = set(['冷伊一','零语','梓轩','圣博'])                    #保存选择C语言的学生姓名
print('选择Python语言的学生有:',python)                    #输出选择Python语言的学生姓名
print('选择C语言的学生有:',c)                              #输出选择C语言的学生姓名
print('交集运算:',python & c)                            #输出既选择了Python语言又选择了C语言的学生姓名
print('并集运算:',python | c)                             #输出参与选课的全部学生姓名
print('差集运算:',python - c)                             #输出只选择了Python语言但没有选择C语言的学生姓名

运行结果如下:

 

  •  实战一:输出“王者荣耀”的游戏角色

代码如下:

print('“王者荣耀”游戏角色:')
print('====坦克:====')
tank = ['苏烈','刘邦','钟馗','张飞','牛魔','程咬金','白起',
        '刘禅','庄周','项羽','廉颇','巨灵神','安禄山','猪八戒']
for i in tank:
    print(i,end=' ')
print('\n'+'====战士:====')
warrior = ['狂铁','裴擒虎','','孙悟空','哪吒','杨戬','橘右京',
           '亚瑟','雅典娜','夏侯惇','关羽','吕布','韩信','老夫子',
           '达摩','典韦','曹操','钟无艳','墨子','赵云','刑天','龙且',]
for i in warrior:
    print(i,end=' ')
print('\n'+'====刺客:====')
assassin = ['百里玄策','庞统','花木兰','阿珂','不知火舞','李白',
            '娜可露露','兰陵王','露娜','韩信','宫本武藏','盖聂','红佛']
for i in assassin:
    print(i,end=' ')
print('\n'+'====法师:====')
master = ['杨玉环','弈星','女娲','周瑜','鬼谷子','芈月','干将莫邪',
          '诸葛亮','貂蝉','张良','安其拉','不知火舞','姜子牙','武则天',
          '王昭君','甄姬','扁鹊','高渐离','嬴政','妲己','小乔']
for i in master:
    print(i,end=' ')
print('\n'+'====射手:====')
adc = ['公孙离','百里守约','后羿','刘备','黄忠','马可波罗','成吉思汗',
       '虞姬','李元芳','艾琳','狄仁杰','鲁班七号','孙尚香']
for i in adc:
    print(i,end=' ')
print('\n'+'====辅助:====')
assit = ['明世隐','孙膑','蔡文姬','太乙真人','桑启','大乔']
for i in assit:
    print(i,end=' ')

 

运行结果如下:

 

  • 实战二:模拟火车订票系统

代码如下:

str1 = ['车次','出发站——到达站','出发时间','到达时间','历时']
train_numbers = ['T40','T928','Z156','Z62']
train_places = ['长春——北京','长春——北京','长春——北京','长春——北京']
train_outTime = ['00:12','00:06','12:48','21:58']
train_arriveTime = ['12:20','10:50','21:05','06:08']
train_sumTime = ['12:08','10:44','08:18','8:20']
print(str1[0],'',str1[1],'',str1[2],'',str1[3],'',str1[4])
print(train_numbers[0],'  ',train_places[0],' ',train_outTime[0],' ',
      train_arriveTime[0],' ',train_sumTime[0])
print(train_numbers[1],' ',train_places[1],' ',train_outTime[1],' ',
      train_arriveTime[1],' ',train_sumTime[1])
print(train_numbers[2],' ',train_places[2],' ',train_outTime[2],' ',
      train_arriveTime[2],' ',train_sumTime[2])
print(train_numbers[3],'  ',train_places[3],' ',train_outTime[3],' ',
      train_arriveTime[3],' ',train_sumTime[3])
places_chx = dict(zip(train_numbers,train_places))
out_chx = dict(zip(train_numbers,train_outTime))
arrival_chx = dict(zip(train_numbers,train_arriveTime))
sum_chx = dict(zip(train_numbers,train_sumTime))
number = input('请输入要购买的车次:')
name = input('请输入乘车人(用半角逗号分隔):')
place = places_chx[number]
print("你已购买" + number + "次列车" + place + "开,请" + name + "尽快换取纸质车票。【铁路客服】")

 

运行结果·如下:

 

  •  实战三:电视剧的收视率排行榜

代码如下:

TV = [("《Give up, hold on to me》收视率:","1.4%"),
      ("《The private dishes of the husbands》收视率:","1.343%"),
      ("《My father-in-law will do martiaiarts》收视率:","0.92%"),
      ("《North Canton still believe in love》收视率:","0.862%"),
      ("《Impossible task》收视率:","0.553%"),
      ("《Sparrow》收视率:","0.411%"),
      ("《East of dream Avenue》收视率:","0.164%"),
      ("《The prodigal son of the new frontier town》收视率:","0.259%"),
      ("《Distant distance》收视率:","0.394%"),
      ("《Music legend》收视率:","0.562%")]
TV.sort(key=lambda x:x[1], reverse=True)
print('电视剧的收视率排行榜:')
for i in TV:
    for j in range(len(i)):
         if j == 1:
             print(i[j])
         else:
             print(i[j], end = "")

 

运行结果如下:

 

  •  实战四:统计需要取快递人员的名单

代码如下:

postmanlist = set()
for i in range(99):
    list = input("请输入收到快递人员的名单(输入0退出):")
    if list == "0":
        break
    elif list in postmanlist:
        print("取快递人员已存在!")
    else:
        postmanlist.add(list)
print("需要通知取快递的人员名单:"+"\n")
print(postmanlist)

 

运行结果如下:

 

posted @ 2022-09-30 01:07  xunegu777  阅读(143)  评论(0编辑  收藏  举报