一、实验题目
Python第四章实例和实战作业
二、实验目的和要求
1.熟悉Pycharm的运行环境
2.学习并掌握Python的流程控制语句
三、主要仪器设备
联想小新air15
硬件:AMD R7 5700U
软件:Windows11操作系统
四、实验内容
完成第四章实例01-09,4.7实战
利用Pycharm完成Python实验报告
实例01:输出每日一帖
代码如下:
1 #----------实例01:输出每日一帖----------# 2 import datetime #导入日期时间类 3 #定义一个列表 4 mot = ["今天星期一:\n坚持下去不是因为我很坚强,而是因为我别无选择。", 5 "今天星期二:\n含泪播种的人一定能笑着收获。", 6 "今天星期三:\n做对的事情比把事情作对重要。", 7 "今天星期四:\n命运给予我们的不是失望之酒,而是机会之杯", 8 "今天星期五:\n不要等到明天,明天太遥远,今天就行动。", 9 "今天星期六:\n求知若饥,虚心若愚。", 10 "今天星期日:\n成功将属于那些从不说”不可能“的人。"] 11 day = datetime.datetime.now().weekday() #获取当前星期 12 print(mot[day]) #输出每日一帖
代码运行结果如下:
实例02:分两列显示2017~2018赛季NBA西部联盟前八名的球队
代码如下:
1 #---------实例02:分两列显示2017~2018赛季NBA西部联盟前八名的球队----------# 2 print("2017~2018赛季NBA西部联盟前八名\n") 3 team = ["火箭", "勇士", "开拓者", "雷霆", "爵士", "鹈鹕", "马刺", "森林狼"] 4 for index,item in enumerate(team): 5 if index % 2 == 0: #判断是否为偶数,为偶数时不换行 6 print(item + "\t\t", end ='') 7 else: 8 print(item + "\n") #换行输出
代码运行结果如下:
实例03:向NBA名人堂列表中追加2018年新进入的球星
代码如下:
1 #----------实例08:向NBA名人堂列表中追加2018年新进入的球星----------# 2 #NBA名人堂原有人员 3 oldlist = ["迈克尔·乔丹","卡里姆·阿布杜尔·贾巴尔","哈基姆·奥拉朱旺","查尔斯·巴克利","姚明"] 4 newlist = ["贾森·基德" ,"史蒂夫·纳什", "格兰特·希尔"] #新增人员列表 5 oldlist.extend(newlist) #追加新球星 6 print(oldlist) #显示新的NBA名人堂人员列表
代码运行结果如下:
实例04: 使用二维列表输出不同版式的古诗
代码如下:
1 #----------实例04:使用二维列表输出不同版式的古诗----------# 2 str1 = "千山鸟飞绝" 3 str2 = "万径人踪灭" 4 str3 = "孤舟蓑笠翁" 5 str4 = "独钓寒江雪" 6 verse = [list(str1),list(str2),list(str3),list(str4)] #定义一个二维列表 7 print("\n-- 横版 --\n") 8 for i in range(4): #循环古诗的每一行 9 for j in range(5): #循环每一行的每个字(列) 10 if j == 4: #如果是一行中的最后一个字 11 print(verse[i][j]) #换行输出 12 else: 13 print(verse[i][j], end="") #不换行输出 14 15 verse.reverse() 16 print("\n-- 竖版 --\n") 17 for i in range(5): #循环每一行的每个字 18 for j in range(4): #循环新逆序排列后的第一行 19 if j ==3: #如果是最后一行 20 print(verse[j][i]) #换行输出 21 else: 22 print(verse[j][i], end='') #不换行输出
代码运行结果如下:
实例05:使用元组保存咖啡馆里提供的咖啡名称
代码如下:
1 #----------实例05:使用元组保存咖啡馆里提供的咖啡名称----------# 2 coffeename = ('蓝山','卡布奇诺','曼特宁','摩卡','麝香猫','哥伦比亚') #定义元组 3 print(coffeename) #输出元组
代码运行结果如下:
实例06:使用for循环列出咖啡馆里的咖啡名称
代码如下:
1 #----------实例06:使用for循环列出咖啡馆里的咖啡名称----------# 2 coffeename = ('蓝山','卡布奇诺','曼特宁','摩卡','麝香猫','哥伦比亚') #定义元组 3 print("您好,欢迎光临~伊米咖啡馆~\n\n我店有:\n") 4 for name in coffeename: #遍历元组 5 print(name + "咖啡", end=" ")
代码运行结果如下:
实例07:分两列显示2017~2018赛季NBA西部联盟前八名球队
代码如下:
1 #----------实例07:分两列显示2017~2018赛季NBA西部联盟前八名球队----------# 2 print("2017~2018赛季NBA西部联盟前八名\n") 3 team = ("火箭", "勇士", "开拓者", "雷霆", "爵士", "鹈鹕", "马刺", "森林狼") 4 for index,item in enumerate(team): 5 if index % 2 == 0: #判断是否为偶数,为偶数时不换行 6 print(item + "\t\t", end ='') 7 else: 8 print(item + "\n") #换行输出
代码运行结果如下:
实例09:创建一个保存女神星座的字典
代码如下:
1 #----------实例09:创建一个保存女神星座的字典----------# 2 name = ['绮梦','冷伊一','香凝','黛兰'] #作为键的列表 3 sign = ['水瓶座','射手座','双鱼座','双子座'] #作为值的列表 4 dictionary = dict(zip(name,sign)) #转换为字典 5 print(dictionary) #输出转换后的字典
代码运行结果如下:
实例10:根据星座测试性格特点
代码如下:
1 #----------实例10:根据星座测试性格特点----------# 2 name = ['绮梦','冷伊一','香凝','黛兰'] #作为键的列表 3 sign_person = ['水瓶座','射手座','双鱼座','双子座'] #作为值的列表 4 person_dict = dict(zip(name,sign_person)) #转换为个人字典 5 sign_all=['白羊座','金牛座','双子座','巨蟹座','狮子座','处女座','天秤座','天蝎座','射手座','摩羯座','水瓶座','双鱼座'] 6 nature = ['有一种让人看见就觉得开心的感觉,阳光、乐观、坚强,性格直来直去,就是有点小脾气。', 7 '很保守,喜欢稳定,一旦有什么变动就会觉得心里不踏实,性格比较慢热,是个理财高手。', 8 '喜欢追求新鲜感,有点小聪明,耐心不够,因你的可爱性格会让很多人喜欢和你做朋友。', 9 '情绪容易敏感,缺乏安全感,做事情有坚持到底的毅力,为人重情重义,对朋友和家人特别忠实。', 10 '有着远大的理想,总想靠自己的努力成为人上人,总是期待被仰慕被崇拜的感觉。', 11 '坚持追求自己的完美主义者。', 12 '追求平等、和谐,交际能力强,因此朋友较多。最大的缺点就是面对选择总是犹豫不决。', 13 '精力旺盛,占有欲强,对于生活很有目标,不达目的誓不罢休,复仇心重。', 14 '崇尚自由,勇敢、果断、独立,身上有一股勇往直前的劲儿,只要想做,就能做。', 15 '是最有耐心的,做事最小心。做事脚踏实地,比较固执,不达目的不罢休,而且非常勤奋。', 16 '人很聪明,最大的特点是创新,追求独一无二的生活,个人主义色彩很浓重的星座。', 17 '集所有星座的优缺点于一身。最大的优点是有一颗善良的心,愿意帮助别人。'] 18 sign_dict = dict(zip(sign_all,nature)) #转换为星座字典 19 print("【香凝】的星座是",person_dict.get("香凝")) #输出星座 20 print("\n 她的性格特点是:\n\n",sign_dict.get(person_dict.get("香凝"))) #输出性格特点
代码运行结果如下:
实例11:应用字典推导式实现根据名字和星座创建一个字典
代码如下:
1 #----------实例11:应用字典推导式实现根据名字和星座创建一个字典----------# 2 name = ['绮梦','冷伊一','香凝','黛兰'] #作为键的列表 3 sign = ['水瓶','射手','双鱼','双子'] #作为值的列表 4 dictionary = {i:j+'座' for i,j in zip(name,sign)} #使用列表推导式生成字典 5 print(dictionary)
代码运行结果如下:
实例12:创建保存学生选课信息的集合
代码如下:
1 #----------实例12:创建保存学生选课信息的集合----------# 2 python = {'绮梦','冷伊一','香凝','梓轩'} #保存选择Python语言的学生姓名 3 c = {'冷伊一','零语','梓轩','圣博'} #保存选择C语言的学生姓名 4 print("选择Python语言的学生有:",python, '\n') #输出选择Python语言的学生姓名 5 print("选择C语言的学生有:",c) #输出选择C语言的学生姓名
代码运行结果如下:
实例13:学生更改选学课程
代码如下:
1 #----------实例13:学生更改选学课程----------# 2 python = set(['绮梦','冷伊一','香凝','梓轩']) #保存选择Python语言的学生姓名 3 python.add('零语') #添加一个元素 4 c = set(['冷伊一','零语','梓轩','圣博']) #保存选择C语言的学生姓名 5 c.remove('零语') #删除指定元素 6 print("选择Python语言的学生有:",python, '\n') #输出选择Python语言的学生姓名 7 print("选择C语言的学生有:",c) #输出选择C语言的学生姓名
代码运行结果如下:
实例14:对选课集合进行交集、并集和差集运算
代码如下:
1 #------------实例14:对选课集合进行交集、并集和差集运算-----------# 2 python = set(['绮梦','冷伊一','香凝','梓轩']) #保存选择Python语言的学生姓名 3 c = set(['冷伊一','零语','梓轩','圣博']) #保存选择C语言的学生姓名 4 print("选择Python语言的学生有:",python) #输出选择Python语言的学生姓名 5 print("选择C语言的学生有:",c) #输出选择C语言的学生姓名 6 print("交集运算:",python&c) #输出既选择了Python语言又选择了C语言的学生姓名 7 print("并集运算:",python|c) #输出参与选课的全部学生姓名 8 print("差集运算:",python - c) #输出只选择了Python语言但没有选择C语言的学生姓名
代码运行结果如下:
实战一:输出”王者荣耀“的游戏角色
“王者荣耀”游戏中有很多英雄,这些英雄可以分为法师、战士、坦克、刺客、射手和辅助。本实战将应用Python中的列表存储不同类别的英雄,并且遍历输出这些英雄。效果如图所示。
代码如下:
1 #----------实战一:输出”王者荣耀“的游戏角色----------# 2 print("“王者荣耀”游戏角色:") 3 tanke = ["苏烈","刘邦","钟馗","张飞","牛魔","程咬金","白起","刘禅","庄周","项羽","廉颇","巨灵神","安禄山","猪八戒"] 4 print("====坦克:====") 5 for i in tanke: 6 print(i, end=" ") 7 tanke = [] 8 print("\n" + "====战士:====") 9 zhanshi = ["狂铁","裴擒虎","铠","孙悟空","哪吒","杨戬","橘右京","亚瑟","雅典娜","夏侯惇","关羽","吕布","韩信","老夫子","达摩","典韦","曹操","钟无艳","墨子","赵云","刑天","龙且"] 10 for i in zhanshi: 11 print(i, end=" ") 12 print("\n" + "====刺客:====") 13 cike = ["百里玄策","庞统","花木兰","靳柯","不知火舞","李白","娜可露露","兰陵王","韩信","宫本武藏","盖聂","红拂"] 14 for i in cike: 15 print(i, end=" ") 16 print("\n" + "====法师:====") 17 fashi= ["杨玉环","奕星","女娲","周瑜","鬼谷子","芈月","东皇太一","大乔","诸葛亮","貂蝉","张良","安琪拉"] 18 for i in fashi: 19 print(i, end=" ") 20 print("\n" + "====射手:====") 21 sheshou = ["公孙离","百里守约","后羿","刘备","黄忠","马可波罗","成吉思汗","虞姬","李元芳","艾琳","狄仁杰","鲁班七号","孙尚香"] 22 for i in sheshou: 23 print(i, end=" ") 24 print("\n" + "====辅助:====") 25 fuzhu = ["明世隐","梦奇","孙膑","太乙真人","蔡文姬"] 26 for i in fuzhu: 27 print(i, end=" ")
代码运行结果如下:
实战二:模拟火车订票系统
代码如下:
1 #----------实战二:模拟火车订票系统----------# 2 a = ["车次"," ","出发站-到达站"," ","出发时间"," ","到达时间"," ","历时"] 3 checi = ["T40","T298","Z158","Z62"] 4 station = ["长春-北京","长春-北京","长春-北京","长春-北京"] 5 start_time = ["00:12","00:06","12:48","21.58"] 6 arrive_time = ["12:20","10:50","21:06","08:18"] 7 lishi = ["12:08","10:44","08:18","8:20"] 8 for i in a: 9 print(i,end="") 10 print("\n") 11 #输出详细信息 12 print(checi[0],' ',station[0],' ',start_time[0],' ',arrive_time[0],' ',lishi[0]) 13 print(checi[1],'',station[1],' ',start_time[1],' ',arrive_time[1],' ',lishi[2]) 14 print(checi[2],'',station[2],' ',start_time[2],' ',arrive_time[2],' ',lishi[2]) 15 print(checi[3],' ',station[3],' ',start_time[3],' ',arrive_time[3],' ',lishi[3]) 16 a_station = dict(zip(checi,station)) 17 a_start_time = dict(zip(checi,start_time)) 18 a_arrive_time = dict(zip(checi,arrive_time)) 19 a_lishi = dict(zip(checi,lishi)) 20 train = input("请输入购买车次:") 21 chengcheren = input("请输入乘车人(用逗号分隔):") 22 Station = a_station[train] 23 print("您已购买 " + train + " 次列车 " + Station + " 开,请" + chengcheren + "尽快换取纸质车票。【铁路客服】")
代码运行结果如下:
实战三:电视剧的收视率排行榜
代码如下:
1 #------------实战三:电视剧的收视率排行榜----------# 2 print("电视剧的收视率排行榜:") 3 TV = [("《Give up, hold on to me》收视率:","1.4%"), 4 ("《The private dishes of the husbands》收视率:","1.343%"), 5 ("《My father-in-law will do martiaiarts》收视率:","0.92%"), 6 ("《North Canton still believe in love》收视率:","0.862%"), 7 ("《Impossible task》收视率:","0.553%"), 8 ("《Sparrow》收视率:","0.411%"), 9 ("《East of dream Avenue》收视率:","0.164%"), 10 ("《The prodigal son of the new frontier town》收视率:","0.259%"), 11 ("《Distant distance》收视率:","0.394%"), 12 ("《Music legend》收视率:","0.562%")] 13 TV.sort(key = lambda s:s[1], reverse = True) 14 for item in TV: 15 print(item[0] + str(item[1]))
代码运行结果如下:
实战四:定制自己的手机套餐
假设我们可以根据需求定制自己的手机套餐,可选项为话费、流量和短信。假设有如下设置:话费:0分钟、50分钟、100分钟、300分钟、不限量效果
流量:0M、500M、1G、5G、不限量
短信:0条、50条、100条
最后将用户选择的内容搭配为一个套餐输出,效果如图所示。
代码如下:
1 #----------实战四:定制自己的手机套餐----------# 2 print("定制自己的手机套餐:") 3 #通话时长 4 shichang = ["0分钟","50分钟","100分钟","300分钟","不限量"] 5 print("A.请设置通话时长:") 6 for index,item in enumerate(shichang): 7 print(str(index+1) + "." + item) 8 A = int(input("输入选择的通话时长编号:")) 9 #流量包 10 liuliang = ["0M", "500M", "1G", "5G", "不限量"] 11 for index,item in enumerate(liuliang): 12 print(str(index+1) + "." + item) 13 B = int(input("输入选择的流量包编号:")) 14 #短信条数 15 duanxin = ["0条", "50条", "100条"] 16 print("C.请设置短信条数:") 17 for index,item in enumerate(duanxin): 18 print(str(index+1) + "." + item) 19 C = int(input("输入选择的短信条数编号:")) 20 #套餐结果 21 print("您的手机套餐定制成功:" + "免费通话时长为" + shichang[A-1] + "/月," + "流量为" + liuliang[B-1] + "/月," + "短信条数" + duanxin[C-1] + "/月")
代码运行结果如下:
标签:输出,Python,如下,代码运行,实例,print,实验报告,第四章 From: https://www.cnblogs.com/Shing-gyl/p/16719750.html