零基础学Python课后实战第四章
实战一:输出王者荣耀的游戏角色
列表的创建、遍历列表
代码
print("“王者荣耀”游戏角色")
hero = ["====坦克:====","刘邦 张飞","====战士:=====","孙悟空 哪吒","====刺客:====","李白 兰陵王",
"====法师:====","大乔 小乔","====射手:====","刘备 鲁班七号","====辅助:====","太乙真人"]
for item in hero:
print(item)
运行结果
“王者荣耀”游戏角色
====坦克:====
刘邦 张飞
====战士:=====
孙悟空 哪吒
====刺客:====
李白 兰陵王
====法师:====
大乔 小乔
====射手:====
刘备 鲁班七号
====辅助:====
太乙真人
实战二:模拟火车订票系统
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) + "尽快换取纸质车票。【铁路客服】")
运行结果
车次 出发站-到达站 出发时间 到达时间 历时
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
请输入要购买的车次:Z158
请输入乘车人(用逗号隔开):Y
您已购Z158次列车 长春-北京 12:48开,请Y尽快换取纸质车票。【铁路客服】
也尝试了用二维列表输出,各车次及时间也无法对齐,待进一步研究。
看了参考答案,结果是
information = ["车次","出发站-到达站","出发时间","到达时间","历时"]
name = ["T40","T298","Z158","Z62"]
station = ["长春-北京","长春-北京","长春-北京","长春-北京"]
go_off = ["00:12","00:06","12:48","21:58"]
arrival = ["12:20","10:50","21:06","06:08"]
last = ["12:08","10:44","08:18","8:20"]
print(information[0],' ',information[1],' ',information[2],' ',information[3],' ',information[4])
print(name[0],' ',station[0],' ',go_off[0],' ',arrival[0],' ',last[0])
print(name[1],' ',station[1],' ',go_off[1],' ',arrival[1],' ',last[1])
print(name[2],' ',station[2],' ',go_off[2],' ',arrival[2],' ',last[2])
print(name[3],' ',station[3],' ',go_off[3],' ',arrival[3],' ',last[3])
a = input("请输入要购买的车次:")
b = input("请输入乘车人(用逗号隔开):")
if a==name[0]:
time=go_off[0]
if a==name[1]:
time=go_off[1]
if a==name[2]:
time=go_off[2]
if a == name[3]:
time = go_off[3]
print("您已购" + str(a) + "次列车 " + station[0] +" "+ time + "开,请" + str(b) + "尽快换取纸质车票。【铁路客服】")
运行结果
车次 出发站-到达站 出发时间 到达时间 历时
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
请输入要购买的车次:T40
请输入乘车人(用逗号隔开):T
您已购T40次列车 长春-北京 00:12开,请T尽快换取纸质车票。【铁路客服】
嗯,敲空格敲出来的。。。。
实战三:电视剧的收视率排行榜
listname = [('《Theprodigal son of the new frontier town》',0.259),
('《Distant distance》',0.394),
('《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])+'%')
运行结果
电视剧的收视率排行榜:
《Music legend》 收视率:0.562%
《Distant distance》 收视率:0.394%
《Theprodigal son of the new frontier town》 收视率:0.259%
tips
count():表示获取指定元素在列表中出现的次数
sort()对数值列表排序
.sort()进行升序排列
.sort(reverse=True)进行降序排列
sort()对字符串列表排序
.sort()默认区分大小写字母
.sort(key=str.lower)不区分大小写字母
注:中文内容列表排序不能直接使用sort()方法,另,内置sorted()函数的作用与列表对象的sort()方法作用基本相同,不同点是sort()会改变原列表的顺序,而sorted()函数会建立一个原列表的副本,该副本为排序后的列表,原列表不变。
创建列表用“[]”,创建元组用“()”。元组是不可变序列。若创建的元组只有一个元素,要在元素的后面加一个逗号,否则表示定义一个字符串。
将生成器对象转换为元组输出使用 tuple() 函数,转换为列表用 list() 函数。
key=lambda s: s[1] , 表示根据第二个关键字排序。
本文是零基础学Python的课后实战,包括输出王者荣耀游戏角色、模拟火车订票系统和电视剧收视率排行榜。在实战一中,通过列表操作展示了王者荣耀角色;实战二尝试了火车订票系统的模拟,遇到二维列表对齐问题;实战三则涉及电视剧收视率的排序技巧。文章还介绍了Python中的count()、sort()方法及其用法,以及列表和元组的区别和转换方法。
2506

被折叠的 条评论
为什么被折叠?



