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)
运行结果如下: