首页 > 编程语言 >python实验报告第四章——序列的应用

python实验报告第四章——序列的应用

时间:2022-09-28 23:44:40浏览次数:47  
标签:输出 python 列表 item 元组 print 实验报告 第四章

                                                 python第四章——序列的应用

一、实验目的和要求

1、了解python中的序列结构

2、学会使用列表、元组、字典和集合

3、学会区分列表、元组、字典和集合

 

 

二、实验环境

 

软件版本:Python 3.10 64_bit

 

三、实验过程

♞实例01:输出每日一贴

在IDLE中创建一个名称为tips. py的文件,然后在该文件中导入日期时间类,然后定义一个列表(保存7条励志文字作为每日一帖的内容),再获取当前的星期,最后将当前的星期作为列表的索引,输出元素内容,代码如下:

 

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

结果为:

 

 

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

在IDLE中创建一个名称为printteam. py的文件,并且在该文件中先输出标题,然后定义一个列表(保存球队名称),再应用for循环和enumerate()函数遍历列表,在循环体中通过if…else语句判断是否为偶数,如果为偶数则不换行输出,否则换行输出。代码如下:

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

结果为:

 

 

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

在IDLE中创建一个名称为nba. py的文件,然后在该文件中定义一个保存NBA名人堂原有球星名字的列表,然后创建一个保存2018年新进入球星名字的列表,再调用列表对象的extend()方法追加元素,最后输出追加元素后的列表,代码如下:

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

结果为:

 

 

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

在IDLE中创建一个名称为printverse. py的文件,然后在该文件中首先定义4个字符串,内容为柳宗元的《江雪》中的诗句,并定义一个二维列表,然后应用嵌套的for循环将古诗以横版方式输出,再将二维列表进行逆序排列,最后应用嵌套的for循环将古诗以竖版方式输出,代码如下:

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(7):                                    #循环每一行的每个字(列)
        if j == 6:                                        #如果是一行中的最后一个字
            print(verse[i][j])                            #换行输出
        else:
            print(verse[i][j],end="")                     #不换行输出

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

结果为:

 

 

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

在IDLE中创建一个名称为 cafe_coffeename. py 的文件,然后在该文件中定义一个包含6个元素的元组,内容为伊米咖啡馆里的咖啡名称,并且输出该元组,代码如下:

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

结果为:

 

 

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

在IDLE中创建一个名称为 cafe_coffeename. py 的文件,然后在该文件中,定义一个包含6个元素的元组,内容为伊米咖啡馆里的咖啡名称,然后应用for循环语句输出每个元组元素的值,即咖啡名称,并且在后面加上“咖啡”二字,代码如下:

coffeename = ('蓝山','卡布奇诺','曼特宁','摩卡','麝香猫','哥伦比亚','饮不尽的黑暗')   #定义元组
print("您好,欢迎光临~吐丽美庵西餐厅~\n\n我店有:\n")
for name in coffeename:                                                               #遍历元组
    print(name + "咖啡",end=" ")
     

结果为:

 

 

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

本实例将在实例02的基础上进行修改,将列表修改为元组,其他内容不变,修改后的代码如下:

 

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

结果为:

 

 

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

在IDLE中创建一个名称为 cafe_replace. py 的文件,然后在该文件中,定义一个包含6个元素的元组,内容为伊米咖啡馆里的咖啡名称,然后修改其中的第5个元素的内容为“拿铁”,代码如下:

coffeename = ('蓝山','卡布奇诺','曼特宁','摩卡','麝香猫','哥伦比亚')
coffeename = ('蓝山','卡布奇诺','曼特宁','摩卡','拿铁','哥伦比亚')
print("新元组",coffeename)

结果为:

 

 

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

在IDLE中创建一个名称为 sign_create. py 的文件,然后在该文件中,定义两个包括4个元素的列表,再应用dict()函数和zip()函数将前两个列表转换为对应的字典,并且输出该字典,代码如下:

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

结果为:

 

 

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

在IDLE中创建一个名称为 sign_get. py 的文件,然后在该文件中创建两个字典,一个保存名字和星座,另一个保存星座和性格特点,最后从这两个字典中取出相应的信息组合出想要的结果,并输出,代码如下:

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:根据星座测试性格特点

 在IDLE中创建一个名称为sign_create.py的文件,然后在该文件中,定义两个包括4个元素的列表,再应用字典推导式将前两个列表转换为对应的字典,并且输出该字典。代码如下:

name = ['绮梦','冷伊一','香凝','黛兰']
sign = ['水瓶','射手','双鱼','双子']
dictionary = {i:j+'座'for i,j in zip(name,sign)}
print(dictionary)

结果为:

 

 

 

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

 在 IDLE中创建一个名称为section_create.py 的文件,然后在该文件中,定义两个包括4个元素的集合,再输出这两个集合。代码如下:

python = {'绮梦','冷伊一','香凝','梓轩'}
c = {'冷伊一','零语','梓轩','圣博'}
print('选择python语言的学生有:',python,'\n')
print('选择c语言的学生有:',c)

结果为:

 

 

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

 

在 IDLE中创建一个名称为 section_add.py的文件,然后在该文件中,定义一个包括4个元素的集合,并且应用add()函数向该集合中添加一个元素,再定义一个包括4个元素的集合,并且应用remove()方法从该集合中删除指定的元素,最后输出这两个集合。代码如下:

python = set(['绮梦','冷伊一','香凝','梓轩'])
python.add('零语')
c = set(['冷伊一','零语','梓轩','圣博'])
c.remove('零语')
print('选择python语言的学生有:',python,'\n')
print('选择c语言的学生有:',c)

结果为:

 

 

 

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

在IDLE中创建一个名称为section_operate.py 的文件,然后在该文件中定义两个包括4个元素的集合,再根据需要对两个集合进行交集、并集和差集运算,并输出运算结果。代码如下:

python = set(['绮梦','冷伊一','香凝','梓轩'])
c = set(['冷伊一','零语','梓轩','圣博'])
print('选择python语言的学生有:',python)
print('选择c语言的学生有:',c)
print('交集运算:',python & c)
print('并集运算:',python | c)
print('差集运算:',python - c)

结果为:

 

 

 

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

 

 代码:

print("“王者荣耀”游戏角色")
hero = ["====坦克:====","刘邦 张飞 牛魔","====战士:=====","孙悟空 哪吒 赵云","====刺客:====","李白 兰陵王 猫雷",
         "====法师:====","海月 小乔 甄姬","====射手:====","后羿 鲁班七号 孙尚香","====辅助:====","瑶 蔡文姬 大乔"]
for item in hero:
  print(item)  

结果为:

 

实战2:模拟火车订票系统

代码:

 

 

station = ["车次","出发站-到达站","出发时间","到达时间","历时",
        "T40","莱比锡-维也纳","00:12","12:20","12:08",
        "T298","苏黎世-法兰克福","00:06","10:50","10:44",
        "Z158","慕尼黑-米兰","12:48","21:06","08:18",
        "Z62","柏林-根本哈根","21:58","06:08","8:20"]
for index,item in enumerate(station):
    if (index+1)%5 == 0:
        print(item+"\n")
    else:
        print(item+"\t\t",end='')  
a = input("请输入要购买的车次:")
b = input("请输入乘车人(用逗号隔开):")
m = len(station)
for i in range(m):
    if a == station[i]:
       print("您已购" + str(a) + "次列车 " + station[i+1] +" "+ station[i+2] + "开,请" + str(b) + "尽快换取纸质车票。【铁路客服】")

结果为:

 

 

 

 

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

代码:

listname = [('《Theprodigal son of the new frontier town》',0.259),
            ('《Give up,hold on me》',1.4),
            ('《Famliy Guy》',1.343),
            ('《Peaky Blinders》',0.92),
            ('《Arcane:League of Legends》',0.862),
            ('《Sparrow》',0.394),
          ('《Distant distance》',0.411),
          ('《Music legend》',0.562)]
listname = sorted(listname, key=lambda s: s[1], reverse=True) #key=lambda s: s[1] 根据第二个关键字排序
print('电视剧的收视率排行榜:')
for item in listname:
  print(item[0]+' 收视率:'+str(item[1])+'%')

 

结果为:

 

 

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

代码:

 

i=0
instr = "xiaohao"
past = set()

while not str.isdigit(instr):
    setlen = len(past)
    instr = input("请输入收到快递人员的名单(输入数字退出):")
    if not str.isdigit(instr):
        past.add(instr)
        if setlen == len(past):
            print("取快递人员已存在!")
            continue
    i=i+1
print("需要通知取快递的人员名单:" +str(i) + "\n"+ "\n".join(past))

 

结果为:

 

 四、实验结果

列表、元组、集合和字典在python发挥着重要的作用。

 

标签:输出,python,列表,item,元组,print,实验报告,第四章
From: https://www.cnblogs.com/plxels/p/16738937.html

相关文章

  • Python语言基础实验(第四周)
    Python语言基础实验(第四周)一、实验目的1.了解并掌握python中序列及序列的常用操作。2.根据实际需要运用合适的序列类型来完成实验。二、实验环境软件版本:Python3.......
  • Python4
    实战01print("“王者荣耀”的游戏角色:")print("====坦克:====")tank=["苏烈","刘邦","钟馗","张飞","牛魔","程咬金","白起","刘禅","庄周","项羽","廉颇","巨灵神"......
  • python学习随笔
    本周python学习随笔一、Python中的数据类型 Number【数字:整型int,浮点型[小数]float,复数类型complex】String【字符串】strBoolean【布尔类型】True真(1),Flase假(0)N......
  • Python基础(八) | 深浅拷贝、生成器、迭代器以及装饰器详解
    ⭐本专栏旨在对Python的基础语法进行详解,精炼地总结语法中的重点,详解难点,面向零基础及入门的学习者,通过专栏的学习可以熟练掌握python编程,同时为后续的数据分析,机器学习及深......
  • python scapy dns 包字段解析
    qr:  0表示查询报文,1表示响应报文opcode: 通常值为0(标准查询),其他值为1(反向查询)和2(服务器状态请求)。aa: 表示授权回答(authoritativeanswer)tc: ......
  • python虚拟环境管理
    为什么要创建虚拟环境?给不同的项目创建虚拟环境,针对不同项目只需要加载使用的包,打包python程序的时候可以大量的减少占用的空间,加快打包速度,减少文件大小。windows环境......
  • 使用python pip 命令时提示WARNING: Ignoring invalid distribution ip的解决方案
    问题描述:在使用pythonpip命令时提示WARNING:Ignoringinvaliddistributionip,如图所示:原因分析:安装package时中途中断。解决方案:在相应目录下(本人目录为:D:\Program......
  • 第四章
     ......
  • Python实验报告(第四周)
    一、实验目的与要求1.学会序列的使用2.学会列表、元组、字典、集合的使用3.学会区分列表、元组、字典、集合二、实验环境python版本:3.10(64-bit)三、实验过程1.实例一......
  • python pip 错误 ModuleNotFoundError: No module named pip._internal 解决办法
    问题升级新版pip之后,不论是本地,还是使用anaconda环境,都有可能在用pip下载的时候出现错误:ModuleNotFoundError:Nomodulenamed'pip._internal',有可能是与旧版冲突......