实战一:“千年虫”是什么虫?
需求:已知一个列表中存储的是员工的出生年份[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)
#方式二
for index,value in enumerate(lst):
if str(lst[index]) != '0':
lst[index] = '19' + str(value)
else:
lst[index] = '200' + str(value)
print('修改后的年份列表:', lst)
实战二:模拟京东购物流
需求:从键盘录入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
if not flag and num!='q':
print('商品不存在')
if num=='q':
break
print('-'*40)
print('购物车里已选择的商品为:')
cart.reverse()
for item in cart:
print(item)
实战三:模拟12306火车票订票流程
需求:假设北京到天津有以下4个车次可供选择,用户选择所要购买的车次,进行购票进站。
#创建字典用于存储车票信息,使用车次作key,使用其它信息作value
dict_ticket= {
'G1569':['北京南-天津南','18:06','18:39','00:33'],
'G1567':['北京南-天津南','18:15','18:49','00:34'],
'G8917':['北京南-天津西','18:20','19:19','00:59'],
'G203':['北京南-天津南','18:35','19:09','00:34']
}
print('车次 出发站-到达站 出发时间 到达时间 历时时长')
for key in dict_ticket.keys():
print(key,end=' ')
for item in dict_ticket.get(key):
print(item,end='\t\t')
print()
tran_number=input('请输入要购买的车次:')
info=dict_ticket.get(tran_number,'车次不存在')
if info !='车次不存在':
person=input('请输入乘车人,如果多位乘车人使用逗号分隔:')
s=info[0]+' '+info[1]+'开'
print('您已购买了'+tran_number+''+s+'请'+person+'尽快换取纸制车票。【铁器客服】')
else:
print('对不起,选择的车次不存在')
实战四:模拟手机通迅录
需求:从键盘录入5位好友的姓名和电话,由于通讯录是无序的所以可以使用集合来实现。
s=set()
for i in range(1,6):
info=input(f'请输入第{i}位好友的姓名和手机号:')
s.add(info)
for item in s:
print(item)
注:本文中内容及示例均出自@Python_子木的视频