组合数据类型实战

实战一:“千年虫”是什么虫?

需求:已知一个列表中存储的是员工的出生年份[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)

#使用enumerate
for index,value in enumerate(lst):
    if str(value)!='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 #退出for循环
    if not flag and num!='q':
        print('商品不存在')
    if num=='q':
        break#退出while循环
print('-'*50)
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'],
    'G0817': ['北京南-天津西', '18:20', '18: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):#根据key获取值
        print(item,end='   ')
    print()

#输入用户的购票车次
train_no=input('请输入要购买的车次:')
#根据key获取值
info=dict_ticket.get(train_no,'车次不存在')#info是一个列表类型
#判断车次是否存在
if info!='车次不存在':
    person=input('请输入乘车人,如果是多位乘车人使用逗号相隔:')
    #或许车次的出发站-到达站,还有出发时间
    s=info[0]+info[1]+'开 '
    print('您已购买了'+train_no+' '+s+person+'请尽快换去纸质车票【铁路客服】')
else:
    print('对不起,选择的车次可能不存在')

运行结果
在这里插入图片描述

实战四:模拟手机通迅录

需求:从键盘录入5位好友的姓名和电话,由于通讯录是无序的所以可以使用集合来实现。
在这里插入图片描述
代码如下

#创建一个空集合
s=set()
#录入5位好友的姓名和电话号
for i in range(1,6):
    info=input(f'请输入{i}位好友的电话和手机号:')
    #添加到集合中
    s.add(info)
#遍历集合
for item in s:
    print(item)

运行结果
在这里插入图片描述

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值