Python入门-实战练习-基于组合数据类型
2023-12-31 23:15:43
1.千年虫
已知一个列表中存储的事员工的出生年份[88,89,90,98,00,99]
由于时间比较久,出生的年份均为2为整数,现需要2为你啊分前加19,如果年份是00,需要加上200
lst=[88,89,90,98,00,99] #表示员工的两位整数出生年份
print(lst)
#遍历列表的方式
for index in range(len(lst)):
if str(lst[index])!='0':
lst[index]='19'+str(lst[index])
else:
lst[index]='200'+str(lst[index])
print('修改后的年份:',lst)
运行结果:
D:\Python_Home\venv\Scripts\python.exe D:\Python_Home\chap5\实战-千年虫.py
[88, 89, 90, 98, 0, 99]
修改后的年份: ['1988', '1989', '1990', '1998', '2000', '1999']
2.模拟京东购物流程
键盘录入5个商品(1001手机)添加到商品列表中,展示商品信息
提示用户选择商品,用户选中的商品添加到购物车中(购物车中的商品要逆序)
用户选中的商品不存在需要有相应的提示,当用户输入“q”时循环结束,显示购物车中的商品
#创建一个空列表,用于存入入库的商品信息
lst=[]
for i in range(5):
goods=input('请输入商品的编号和商品的名称进行商品入库,每次只能输入一件商品:')
lst.append(goods)
#输出所有的商品信息
for item in lst:
print(item)
#创建一个空列表,用于存储购物车中的商品
cart=[]
while True:
flag=False #代表没有商品的情况
num=input('请输入要购买的商品编号:')
#遍历商品列表,查询一下要购买的商品是否存在
for item in lst:
if num==item[0:4]: #切片操作,从商品中切出序号
flag=True
cart.append(item) #添加到购物车
print('商品成功添加到购物车')
break #退出的是for循环
if not flag and num!='q': #not flag 等价于 flag=False
print('商品不存在')
if num=='q':
break
print('-'*55)
print('购物车中已选择的商品为:')
cart.reverse()
for item in cart:
print(item)
运行结果:
D:\Python_Home\venv\Scripts\python.exe D:\Python_Home\chap5\实战-模拟京东购物流程.py
请输入商品的编号和商品的名称进行商品入库,每次只能输入一件商品:1001手机
请输入商品的编号和商品的名称进行商品入库,每次只能输入一件商品:1002电脑
请输入商品的编号和商品的名称进行商品入库,每次只能输入一件商品:1003鼠标
请输入商品的编号和商品的名称进行商品入库,每次只能输入一件商品:1004猫粮
请输入商品的编号和商品的名称进行商品入库,每次只能输入一件商品:1005猫砂
1001手机
1002电脑
1003鼠标
1004猫粮
1005猫砂
请输入要购买的商品编号:1001
商品成功添加到购物车
请输入要购买的商品编号:1002
商品成功添加到购物车
请输入要购买的商品编号:1003
商品成功添加到购物车
请输入要购买的商品编号:1004
商品成功添加到购物车
请输入要购买的商品编号:1008
商品不存在
请输入要购买的商品编号:q
-------------------------------------------------------
购物车中已选择的商品为:
1004猫粮
1003鼠标
1002电脑
1001手机
3.模拟12306火车订票流程
需求:假设北京到天津有一下4个车次可供选择,
用户选择所要购买的车次,进行购票进站
# 创建字典用于存储车票信息,使用 车次作为key,使用其他信息作为value
dick_ticket = {
'G1568': ['北京南-天津南', '18:06', '18:39', '00:33'],
'G1567': ['北京南-天津南', '18:18', '18:59', '00:34'],
'G8969': ['北京南-天津西', '18:20', '18:19', '00:39'],
'G2691': ['北京南-天津西', '18:35', '19:19', '00:41']
}
print('车次 出发站-到达站 出发时间 到达时间 历时时长')
# 遍历字典中的元素
for key in dick_ticket.keys():
print(key, end=' ') # 为什么不换行,因为车次和车次的详细信息在一行显示
for item in dick_ticket.get(key): # 根据key获取值
print(item, end='\t\t')
#换行
print()
#输入用户购票车次
train_no=input('请输入要购买的车次:')
#根据key获取值
info=dick_ticket.get(train_no,'车次不存在') #info是一个列表类型
#判断车次是否存在
if info!='车次不存在':
person=input('请输入乘车人,如果是多位乘车人使用逗号分隔:')
# 获取车次的出发站-到达站,还有出发时间
s=info[0]+' '+info[1]+'开'
print('您已购买',train_no,' ',s,',请',person,'尽快换取纸质车票。【铁路客服】')
else:
print('对不起,选择的车次不存在')
运行结果:
D:\Python_Home\venv\Scripts\python.exe D:\Python_Home\chap5\实战-模拟12306火车票订票流程.py
车次 出发站-到达站 出发时间 到达时间 历时时长
G1568 北京南-天津南 18:06 18:39 00:33
G1567 北京南-天津南 18:18 18:59 00:34
G8969 北京南-天津西 18:20 18:19 00:39
G2691 北京南-天津西 18:35 19:19 00:41
请输入要购买的车次:G1568
请输入乘车人,如果是多位乘车人使用逗号分隔:Jarvis,Jarvis2
您已购买 G1568 北京南-天津南 18:06开 ,请 Jarvis,Jarvis2 尽快换取纸质车票。【铁路客服】
D:\Python_Home\venv\Scripts\python.exe D:\Python_Home\chap5\实战-模拟12306火车票订票流程.py
车次 出发站-到达站 出发时间 到达时间 历时时长
G1568 北京南-天津南 18:06 18:39 00:33
G1567 北京南-天津南 18:18 18:59 00:34
G8969 北京南-天津西 18:20 18:19 00:39
G2691 北京南-天津西 18:35 19:19 00:41
请输入要购买的车次:G1234
对不起,选择的车次不存在
4.模拟手机通讯录
需求:从键盘录入5位好友的姓名和电话,
由于通讯录是无序的,所有可以使用集合来实现
#创建一个空集合
s=set()
#录入5位好友的姓名和电话
for i in range(1,6):
info=input(f'请输入第{i}位好友的姓名和手机号:')
#添加到集合中
s.add(info)
#遍历集合
for item in s:
print(item)
运行结果:
D:\Python_Home\venv\Scripts\python.exe D:\Python_Home\chap5\实战-模拟手机通讯录.py
请输入第1位好友的姓名和手机号:张三1222222222
请输入第2位好友的姓名和手机号:李四1344444444
请输入第3位好友的姓名和手机号:王五14444444444
请输入第4位好友的姓名和手机号:陈六15555555555
请输入第5位好友的姓名和手机号:罗期16666666666
王五14444444444
罗期16666666666
陈六15555555555
张三1222222222
李四1344444444
文章来源:https://blog.csdn.net/weixin_43582499/article/details/135227738
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!