实验3 控制语句和组合数据类型应用编程
task1.py
1 import random 2 print('用列表存储随机整数: ') 3 lst = [random.randint(0, 100) for i in range(5)] 4 print(lst) 5 print('\n用集合存储随机整数: ') 6 s1 = {random.randint(0, 100) for i in range(5)} 7 print(s1) 8 print('\n用集合存储随机整数: ') 9 s2 = set() 10 while len(s2) < 5: 11 s2.add(random.randint(0, 100)) 12 print(s2)
运行结果:

task2.py
# 列表遍历 lst = [55, 92, 88, 79, 96] # 遍历方式1: 使用while + 索引 i = 0 while i < len(lst): print(lst[i], end = ' ') i += 1 print() # 遍历方式2:使用for + 索引 for i in range(len(lst)): print(lst[i], end = ' ') print() # 遍历方式3: 使用for...in for i in lst: print(i , end = ' ') print()
运行结果:

task2-2.py
# 字典遍历 book_info = {'isbn': '978-7-5356-8297-0', '书名': '白鲸记', '作者': '克里斯多夫.夏布特', '译者': '高文婧', '出版社': '湖南美术出版社', '售价': 82 } # 遍历key-value对:实现方式1 for key, value in book_info.items(): print(f'{key}: {value}') print() # 遍历key-value对:实现方式2 for item in book_info.items(): print(f'{item[0]}: {item[1]}') print() # 遍历值:实现方式1 for value in book_info.values(): print(value, end = ' ') print() # 遍历值: 实现方式2 for key in book_info.keys(): print(book_info[key], end = ' ')
运行结果:

task2_3.py
book_infos = [{'书名': '昨日的世界', '作者': '斯蒂芬.茨威格'},
{'书名': '局外人', '作者': '阿尔贝.加缪'},
{'书名': '设计中的设计', '作者': '原研哉'},
{'书名': '万历十五年', '作者': '黄仁宇'},
{'书名': '刀锋', '作者': '毛姆'}
]
n=1
for i in book_infos:
print(n,'.''《'+i['书名']+'》',i['作者'])
n=n+1
运行结果:

实验任务4
task4.py
title='专业学号信息' print(title.center(50,'-')) code_majors={8326:'地信类',8329:'计算机类',8330:'气科类',8336:'防灾工程',8345:'海洋科学',8382:'气象工程'} for key,value in code_majors.items(): print(f'{key}:{value}') while True: id = input('请输入学号:') if id=='#': print('查询结束...') break major = int(id[4:8]) if major in code_majors.keys(): print(f'专业是:{code_majors[major]}') else: print('不在这些专业中...')
运行结果:

实验任务5
task5.py
import random xO = random.randint(1,31) print('猜猜2023年5月哪一天是你的lucky day😀') x=int(input('你有三次机会,猜吧(1-31):')) if x == xO : print('哇,猜中了🤣') else: for i in range(2): if x>xO: print('猜晚了,你的lucky day已经过了') x = int(input('再猜(1-31):')) elif x<xO: print('猜早了,你的lucky day还没过呢') x = int(input('再猜(1-31):')) else: print('哇,猜中了🤣') break else: print('次数用光啦,偷偷告诉你,5月你的lucky day是',xO,'号.good luck')
运行结果:


实验任务6
task6.py
datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'],
'2049777002': ['音乐', '旅行'],
'2049777003': ['马拉松', '健身', '游戏'],
'2049777004': [],
'2049777005': ['足球', '阅读'],
'2049777006': ['发呆', '闲逛'],
'2049777007': [],
'2049777008': ['书法', '电影'],
'2049777009': ['音乐', '阅读', '电影', '漫画'],
'2049777010': ['数学', '推理', '音乐', '旅行']
}
list = list(datas.values())
s=set()
list1=[]
list2=[]
for i in list:
for j in i:
list1.append(j)
s.add(j)
list2.append(str(list1).count(j))
x=dict(zip(list1,list2))
x1=[(v,k) for k,v in x.items()]
x2=sorted(x1,reverse=True)
for n in x2:
print(f'{n[1]}:{n[0]}')
运行结果:

实验任务7
#欢迎信息 print('欢迎使用家用电器销售系统!') #商品数据初始化 products=[ ['0001','电视机','海尔',5999.00,20], ['0002','冰箱','西门子',6998.00,15], ['0003','洗衣机','小天鹅',1999.00,10], ['0004','空调','格力',3900.00,0], ['0005','热水器','格力',688.00,30], ['0006','笔记本','联想',5699.00,10], ['0007','微波炉','苏泊尔',480.00,33], ['0008','投影仪','松下',1250.00,12], ['0009','吸尘器','飞利浦',999.00,9], ] #初始化用户购物车 products_cart = [] option = input('请选择您的操作:1-查看商品;2-购物;3—查看购物车;其他-结账') while option in['1','2','3']: if option == '1': #产品信息列表 print('产品和价格信息如下:') print('************************************************') print('%-10s'%'编号','%-10s'%'名称','%-10s'%'品牌','%-10s'%'价格','%-10s'%'库存数量') print('-------------------------------------------------') for i in range(len(products)): print('%-10s'%products[i][0],'%-10s'%products[i][1],'%-10s' %products[i][2], '%10.2f'%products[i][3], '%10d'%products[i][4]) print('-------------------------------------------------') elif option == '2': product_id = input('请输入您要购买的产品编号:') while product_id not in [item[0] for item in products]: product_id = input('编号不存在,请重新输入您要购买的产品编号:') count = int(input('请输入您要购买的产品数量:')) while count>products[int(product_id)-1][4]: count=int(input('数量超出库存,请重新输入您要购买的产品数量:')) #将所购买的商品加入购物车 if product_id not in [item[0] for item in products_cart]: products_cart.append([product_id,count]) else: for i in range(len(products_cart)): if products_cart[i][0] == product_id: products_cart[i][1]+=count #更新商品列表 for i in range(len(products)): if products[i][0] == product_id: products[i][4] -= count else: print('购物车信息如下:') print('*************************************') print('%-10s'%'编号','%-10s'%'购买数量') print('-------------------------------------') for i in range(len(products_cart)): print('%-10s'%products_cart[i][0],'%6d'%products_cart[i][1]) print('-------------------------------------') option = input('操作成功!请选择你的操作:1-查看商品;2-购物;3-查看购物车;其他-结账') #计算金额 if len(products_cart)>0: amount = 0 for i in range(len(products_cart)): product_index = 0 for j in range(len(products)): if products[j][0] == products_cart[i][0]: product_index = j break price = products[product_index][3] count = products_cart[i][1] amount+=price*count if 5000<amount<=10000: amount = amount * 0.95 elif 10000<amount<=20000: amount = amount * 0.90 elif amount > 20000: amount = amount*0.85 else: amount = amount*1 print('购买成功,您需要支付%8.2f元'%amount) #退出系统 print('谢谢您的光临,下次再见!')
运行结果:

实验任务8
#欢迎信息 print('欢迎使用家用电器销售系统!') #商品数据初始化 products=[ {'id':'0001','name':'电视机','brand':'海尔','price':5999.00,'count':20}, {'id':'0002','name':'冰箱','brand':'西门子','price':6998.00,'count':15}, {'id':'0003','name':'洗衣机','brand':'小天鹅','price':1999.00,'count':10}, {'id':'0004','name':'空调','brand':'格力','price':3900.00,'count':0}, {'id':'0005','name':'热水器','brand':'格力','price':688.00,'count':30}, {'id':'0006','name':'笔记本','brand':'联想','price':5699.00,'count':10}, {'id':'0007','name':'微波炉','brand':'苏泊尔','price':480.00,'count':33}, {'id':'0008','name':'投影仪','brand':'松下','price':1250.00,'count':12}, {'id':'0009','name':'吸尘器','brand':'飞利浦','price':999.00,'count':9}, ] #初始化用户购物车 products_cart = [] option = input('请选择您的操作:1-查看商品;2-购物;3—查看购物车;其他-结账') while option in['1','2','3']: if option == '1': #产品信息列表 print('产品和价格信息如下:') print('************************************************') print('%-10s'%'编号','%-10s'%'名称','%-10s'%'品牌','%-10s'%'价格','%-10s'%'库存数量') print('-------------------------------------------------') for i in range(len(products)): print('%-10s'%products[i]['id'],'%-10s'%products[i]['name'], (products[i]['brand']), '%-10.2f'%products[i]['price'], '%-10d'%products[i]['count']) print('-------------------------------------------------') elif option == '2': product_id = input('请输入您要购买的产品编号:') while product_id not in [item['id'] for item in products]: product_id = input('编号不存在,请重新输入您要购买的产品编号:') count = int(input('请输入您要购买的产品数量:')) while count>products[int(product_id)-1]['count']: count=int(input('数量超出库存,请重新输入您要购买的产品数量:')) #将所购买的商品加入购物车 if product_id not in [item['id'] for item in products_cart]: products_cart.append({'id':product_id,'count':count}) else: for i in range(len(products_cart)): if products_cart[i].get('id') == product_id: products_cart[i]['count']+=count #更新商品列表 for i in range(len(products)): if products[i]['id'] == product_id: products[i]['count'] -= count else: print('购物车信息如下:') print('*************************************') print('%-10s'%'编号','%-10s'%'购买数量') print('-------------------------------------') for i in range(len(products_cart)): print('%-10s'%products_cart[i]['id'],'%6d'%products_cart[i]['count']) print('-------------------------------------') option = input('操作成功!请选择你的操作:1-查看商品;2-购物;3-查看购物车;其他-结账') #计算金额 if len(products_cart)>0: amount = 0 for i in range(len(products_cart)): product_index = 0 for j in range(len(products)): if products[j]['id'] == products_cart[i]['id']: product_index = j break price = products[product_index]['price'] count = products_cart[i]['count'] amount+=price*count if 5000<amount<=10000: amount = amount * 0.95 elif 10000<amount<=20000: amount = amount * 0.90 elif amount > 20000: amount = amount*0.85 else: amount = amount*1 print('购买成功,您需要支付{:.2f}元'.format(amount)) #退出系统 print('谢谢您的光临,下次再见!')
运行结果:

task8-2.py
#欢迎信息 print('欢迎使用家用电器销售系统!') #商品数据初始化 products=[ {'id':'0001','name':'电视机','brand':'海尔','price':5999.00,'count':20}, {'id':'0002','name':'冰箱','brand':'西门子','price':6998.00,'count':15}, {'id':'0003','name':'洗衣机','brand':'小天鹅','price':1999.00,'count':10}, {'id':'0004','name':'空调','brand':'格力','price':3900.00,'count':0}, {'id':'0005','name':'热水器','brand':'格力','price':688.00,'count':30}, {'id':'0006','name':'笔记本','brand':'联想','price':5699.00,'count':10}, {'id':'0007','name':'微波炉','brand':'苏泊尔','price':480.00,'count':33}, {'id':'0008','name':'投影仪','brand':'松下','price':1250.00,'count':12}, {'id':'0009','name':'吸尘器','brand':'飞利浦','price':999.00,'count':9}, ] #初始化用户购物车 products_cart = [] option = input('请选择您的操作:1-查看商品;2-购物;3—查看购物车;其他-结账') while option in['1','2','3']: if option == '1': #产品信息列表 print('产品和价格信息如下:') print('************************************************') print(print('{:<10}'.format('编号'),'{:<10}'.format('名称'),'{:<10}'.format('品牌'),'{:<10}'.format('价格'),'{:<10}'.format('库存数量'))) print('-------------------------------------------------') for i in range(len(products)): print('{:<10}'.format(products[i]['id']),'{:<10}'.format(products[i]['name']),'{:<10}'.format (products[i]['brand']), '{:<10}'.format(products[i]['price']), '{:<10}'.format(products[i]['count'])) print('-------------------------------------------------') elif option == '2': product_id = input('请输入您要购买的产品编号:') while product_id not in [item['id'] for item in products]: product_id = input('编号不存在,请重新输入您要购买的产品编号:') count = int(input('请输入您要购买的产品数量:')) while count>products[int(product_id)-1]['count']: count=int(input('数量超出库存,请重新输入您要购买的产品数量:')) #将所购买的商品加入购物车 if product_id not in [item['id'] for item in products_cart]: products_cart.append({'id':product_id,'count':count}) else: for i in range(len(products_cart)): if products_cart[i].get('id') == product_id: products_cart[i]['count']+=count #更新商品列表 for i in range(len(products)): if products[i]['id'] == product_id: products[i]['count'] -= count else: print('购物车信息如下:') print('*************************************') print('{:<10}'.format('编号'),'{:<10}'.format('购买数量')) print('-------------------------------------') for i in range(len(products_cart)): print('{:<10}'.format(products_cart[i]['id']),'{:<6}'.format(products_cart[i]['count'])) print('-------------------------------------') option = input('操作成功!请选择你的操作:1-查看商品;2-购物;3-查看购物车;其他-结账') #计算金额 if len(products_cart)>0: amount = 0 for i in range(len(products_cart)): product_index = 0 for j in range(len(products)): if products[j]['id'] == products_cart[i]['id']: product_index = j break price = products[product_index]['price'] count = products_cart[i]['count'] amount+=price*count if 5000<amount<=10000: amount = amount * 0.95 elif 10000<amount<=20000: amount = amount * 0.90 elif amount > 20000: amount = amount*0.85 else: amount = amount*1 print('购买成功,您需要支付{:.2f}元'.format(amount)) #退出系统 print('谢谢您的光临,下次再见!')
运行结果:


浙公网安备 33010602011771号