企业网站规划与设计,公司网站自己可以学习优化吗,企业类展厅设计公司,海外转运网站建设目录
实战题
1、“千年虫”是什么虫?
2、模拟京东购物流程
3、模拟12306火车票订票流程
4、模拟手机通讯录 实战题
1、“千年虫”是什么虫?
要求:已知一个列表中存储的是员工的出生年份 [88,89,90,98,00,99] 由于时间比较久#xff0c;出生的年份均为2位整数#xf…目录
实战题
1、“千年虫”是什么虫?
2、模拟京东购物流程
3、模拟12306火车票订票流程
4、模拟手机通讯录 实战题
1、“千年虫”是什么虫?
要求:已知一个列表中存储的是员工的出生年份 [88,89,90,98,00,99] 由于时间比较久出生的年份均为2位整数现需要2位年份前加19如果年份是00则需要加上200。
【参考示例1】采用遍历列表的方式
lst [88, 89, 90, 98, 00, 99] # 初始化列表注意00在Python中等同于0
print(lst) # 输出原始列表[88, 89, 90, 98, 0, 99]for index in range(len(lst)): # 遍历列表中的每一个元素# 判断当前元素转换为字符串后是否不等于0# 这里的比较存在问题因为当元素为0即原始列表中的00时str(lst[index])为0if str(lst[index]) ! 0:# 如果不等于0则拼接19并重新赋值# 这里会导致列表元素从整数变为字符串lst[index] 19 str(lst[index])else:# 如果等于0则拼接200并重新赋值# 注意由于00在Python中就是0所以这种情况只会针对数字0发生lst[index] 200 str(lst[index]) # 实际上这里应写为2000因为200 0会得到2000# 输出修改后的列表此时列表元素已全部变为字符串
print(修改后的年份列表, lst)
输出内容
[88, 89, 90, 98, 0, 99]
修改后的年份列表 [1988, 1989, 1990, 1998, 2000, 1999]
【参考示例2】使用enumerate() 函数
# 初始化一个列表包含员工的两位整数出生年份。注意Python中的整数00会被自动转换为0。
lst [88, 89, 90, 98, 00, 99]# 打印原始年份列表
print(lst) # 使用enumerate函数遍历列表enumerate会同时返回元素的索引index和值value
for index, value in enumerate(lst):# 将当前年份值转换为字符串以便进行字符串比较# 注意当原始列表中的年份为0即00时value的值为0str(value)的结果为0if str(value) ! 0:# 如果年份值转换为字符串后不等于0则在该年份前拼接19lst[index] 19 str(value)else:# 如果年份值转换为字符串后等于0即原始列表中的0或00lst[index] 200 str(value) # 打印修改后的年份列表此时列表中的元素已全部变为字符串类型
print(修改后的年份列表, lst)
输出内容
[88, 89, 90, 98, 0, 99]
修改后的年份列表 [1988, 1989, 1990, 1998, 2000, 1999]
2、模拟京东购物流程
要求:从键盘录入5个商品信息(1001手机)添加到商品列表中展示商品信息提示用户选择商品用户选中的商品添加到购物车中(购物车中的商品要逆序)用户选中的商品不存在需要有相应提示当用户输入“q”时循环结束显示购物车中的商品。
预期效果
请输入商品的编号和商品的名称进行商品入库每次只能输入一件商品1001手机
请输入商品的编号和商品的名称进行商品入库每次只能输入一件商品1002水杯
请输入商品的编号和商品的名称进行商品入库每次只能输入一件商品1003电脑
请输入商品的编号和商品的名称进行商品入库每次只能输入一件商品1004猫粮
请输入商品的编号和商品的名称进行商品入库每次只能输入一件商品1005猫砂
1001手机
1002水杯
1003电脑
1004猫粮
1005猫砂
请输入要购买的商品编号1003
商品已成功添加到购物车
请输入要购买的商品编号1005
商品已成功添加到购物车
请输入要购买的商品编号1009
商品不存在
请输入要购买的商品编号1001
商品已成功添加到购物车
请输入要购买的商品编号q
--------------------------------------------------
您的购物车里已选择的商品为
1001手机
1005猫砂
1003电脑
【参考示例】
# 创建一个空列表用于存储入库的商品信息
lst []
# 通过循环让用户输入5次商品编号和名称并存储在列表中
for i in range(5):goods input(请输入商品的编号和商品的名称进行商品入库每次只能输入一件商品)lst.append(goods)# 输出所有的商品信息
for item in lst:print(item)# 创建一个空列表用于存储购物车中的商品
cart []
# 使用while循环来不断处理用户输入直到用户选择退出
while True:flag False # 初始化标志位用于判断商品是否存在num input(请输入要购买的商品编号输入q退出购买)# 遍历商品列表检查用户输入的编号是否存在for item in lst:# 假设商品编号是前4个字符根据这个假设进行切片操作if num item[0:4]: flag True # 如果找到设置标志位为Truecart.append(item) # 将商品添加到购物车print(商品已成功添加到购物车)break # 找到后退出循环# 如果商品不存在且用户没有选择退出提示商品不存在if not flag and num ! q: print(商品不存在)# 如果用户输入q则退出购买循环if num q:break # 输出分割线
print(-*50)
# 输出购物车中的商品注意这里对购物车列表进行了反转可能是为了按输入顺序显示
print(您的购物车里已选择的商品为)
cart.reverse()
for item in cart:print(item)
3、模拟12306火车票订票流程
要求: 假设北京到天津有以下4个车次可供选择用户选择所要购买的车次进行购票进站。、
预期效果
车次 出发站-到达站 出发时间 到达时间 历时时长
G1569 北京南-天津南 18:06 18:39 00:33
G1567 北京南-天津南 18:06 18:40 00:34
G8917 北京南-天津西 18:32 19:01 00:29
G2034 北京南-天津南 19:06 19:44 00:38
请输入要购买的车次:G1567
请输入乘车人如果是多位乘车人使用逗号分隔:小明小红
您已购买了G1567 北京南-天津南 18:06开,请小明小红尽快换取纸制车票。【铁路客服】进程已结束退出代码 0【参考示例】
# 创建字典用于存储车票信息使用车次作key其它信息出发站-到达站、出发时间、到达时间、历时时长作value
dict_ticket {G1569: [北京南-天津南, 18:06, 18:39, 00:33],G1567: [北京南-天津南, 18:06, 18:40, 00:34],G8917: [北京南-天津西, 18:32, 19:01, 00:29],G2034: [北京南-天津南, 19:06, 19:44, 00:38],
}# 打印车票信息的表头
print(车次 出发站-到达站 出发时间 到达时间 历时时长)# 遍历字典中的元素并格式化打印每趟车次的信息
for key in dict_ticket.keys():# 拼接并打印当前车次的所有信息print(f{key}\t\t{\t\t.join(dict_ticket[key])})# 输入用户的购票车次
train_no input(请输入要购买的车次:)# 根据车次获取车票信息若不存在则返回车次不存在
info dict_ticket.get(train_no, 车次不存在)# 判断车次是否存在并处理用户输入
if info ! 车次不存在:# 获取乘车人信息支持输入多位乘车人以逗号分隔person input(请输入乘车人如果是多位乘车人使用逗号分隔:)# 拼接并格式化出发站-到达站及出发时间信息departure_info f{info[0]} {info[1]}开# 打印购票成功信息print(f您已购买了{train_no} {departure_info},请{person}尽快换取纸制车票。【铁路客服】)
else:# 打印车次不存在信息print(对不起选择的车次可能不存在)
部分注释说明
1、字典创建dict_ticket 存储了车次及其相关信息出发站-到达站、出发时间、到达时间、历时时长
2、打印表头print 语句用于打印车票信息的表头清晰展示即将打印的车票信息格式
3、遍历字典并打印使用 for 循环遍历字典中的每个键值对并使用 join 方法将车票信息格式化为一行打印
4、用户输入车次通过 input 函数获取用户想要购买的车次
5、根据车次获取信息使用 dict.get() 方法根据车次获取相关信息若车次不存在则返回车次不存在
6、处理用户输入若车次存在继续获取乘车人信息并格式化出发站-到达站及出发时间信息最后打印购票成功信息。若车次不存在则打印车次不存在信息 4、模拟手机通讯录
要求从键盘录入5位好友的姓名和电话由于通讯录是无序的所以可以使用集合来实现。
预期效果
请输入第1位好友的姓名: 小明
请输入小明的电话: xxxx111
请输入第2位好友的姓名: 小红
请输入小红的电话: 11xxxxx
请输入第3位好友的姓名: 小张
请输入小张的电话: 1x1x1x1
请输入第4位好友的姓名: 小王
请输入小王的电话: 1231xxx
请输入第5位好友的姓名: 小刘
请输入小刘的电话: 1221122通讯录:
姓名: 小明, 电话: xxxx111
姓名: 小红, 电话: 11xxxxx
姓名: 小张, 电话: 1x1x1x1
姓名: 小王, 电话: 1231xxx
姓名: 小刘, 电话: 1221122进程已结束退出代码 0【参考示例】
# 初始化一个空字典来存储通讯录
contacts {}# 从键盘录入5位好友的姓名和电话
for i in range(5):name input(f请输入第{i 1}位好友的姓名: )phone input(f请输入{name}的电话: )# 将姓名和电话存入字典如果姓名已存在则提示并跳过if name in contacts:print(f警告: 通讯录中已存在名为{name}的好友请重新输入一个不同的姓名。)else:contacts[name] phone# 打印通讯录
print(\n通讯录:)
for name, phone in contacts.items():print(f姓名: {name}, 电话: {phone}) 今天的分享就到这里了希望能够帮助到大家~