实验任务1
#task1
实验内容
import random print('用列表存取随机整数:') lst = [random.randint(0,100) for i in range(5)] print(lst) print('\n用集合存储随机整数:') s1 = {random.randint(0,100) for i in range(5)} print(s1) print('\n用集合存取随机整数:') s2 = set() while len(s2) < 5: s2.add(random.randint(0,100)) print(s2)
实验截图
实验结论
问题一回答:生成的随机整数范围是0~100,包括0与100(即可以取到100);
问题二回答:利用list(range(5))生成的有序序列范围是{0,1,2,3,4},不包括5。利用list(range(1,5))生成的有序序列范围是{1,2,3,4},同样不包括5;
问题三回答:不一定是5,因为line8代码中能生成5个数据,但是在向集合中放入数据时,与先前数据重复的数据项会被删除,使得最终集合中的数据个数可能少于5个。
问题四回答:一定是5,因为len(s2) = 5是跳出循环的节点,即当s2中数据个数增加到5个时,循环终止。即使random.randint()弹出的数据中可能有重复项,但不影响最终s2中的数据项个数达到5。
实验任务2
#task2_1
实验内容
#列表遍历 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()
实验截图
实验任务2
#task2_2
实验内容
#字典遍历 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 = ' ')
实验截图
实验任务2
#task2_3
实验内容
book_infos = [{'书名': '昨日的世界', '作者': '斯蒂芬.茨威格'}, {'书名': '局外人', '作者': '阿尔贝.加缪'}, {'书名': '设计中的设计', '作者': '原研哉'}, {'书名': '万历十五年', '作者': '黄仁宇'}, {'书名': '刀锋', '作者': '毛姆'} ] lst = [] i = 0 while i < len(book_infos): t = dict(book_infos[i]) for key in t.keys(): lst.append(t[key]) i += 1 x = 0 while x < 5: print(f'{x + 1}. 《{lst[2*x]}》, {lst[2*x + 1]}') x += 1
实验截图
实验任务3
#task3
实验内容
text_original = '''The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!''' text = text_original.lower() d = {} for i in range(97,97+26): t = dict.fromkeys(chr(i),text.count(chr(i))) d.update(t) d1 = sorted(d.items(), key = lambda x:x[1], reverse = True) for i in d1: print(f'{i[0]}:{i[1]}')
实验截图
实验任务4
#task4
实验内容
code_majors = [{'8326': '地信类'}, {'8329': '计算机类'}, {'8330': '气科类'}, {'8336': '防灾工程'}, {'8345': '海洋科学'}, {'8382': '气象工程'}] #遍历输出专业代号与专业名称 print(f"{'专业代号信息':-^50}") for i in code_majors: lst = list(i.items()) print(f'{lst[0][0]}: {lst[0][1]}') print(f"{'学生专业查询':-^50}") code_majors_dict = dict() #将code_majors转为一个包含多个键值对的字典 lst4 = [] for i in code_majors: t = list(i.items()) code_majors_dict.update(i) lst4.append(t[0][0]) #得到专业代码列表 stu_num = input('请输入学号:') while stu_num != '#': lst2 = list(stu_num) lst3 = lst2[4:8] entered_code = ''.join(lst3) if entered_code in lst4: print(f'专业是:{code_majors_dict[entered_code]}') else: print('不在这些专业中...') stu_num = input('请输入学号:') print('查询结束')
实验截图
实验任务5
#task5
实验内容
import random lucky_day = random.randint(1,31) print(f'猜猜2023年5月哪一天会是你的lucky day{chr(0x1f609)}') entered_number = eval(input('你有三次机会,猜吧(1~31):')) i = 0 while i < 3: if entered_number == 0: print('地球上没有这一天啦,你是外星人吗?') elif entered_number < lucky_day: print('猜早了,你的lucky day还没到呢') elif entered_number > lucky_day: print('猜晚了,你的lucky day已经过去了哦') else: print(f'哇,猜中了{chr(0x1f923)}') break if i == 2: print('哇哦,次数用光啦.') print(f'偷偷告诉你,5月你的lucky day是{lucky_day}号.good luck{chr(0x1f60A)}') break entered_number = eval(input('再猜(1~31):')) i += 1
实验截图
实验任务6
#task6
实验内容
datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'], '2049777002': ['音乐', '旅行'], '2049777003': ['马拉松', '健身', '游戏'], '2049777004': [], '2049777005': ['足球', '阅读'], '2049777006': ['发呆', '闲逛'], '2049777007': [], '2049777008': ['书法', '电影'], '2049777009': ['音乐', '阅读', '电影', '漫画'], '2049777010': ['数学', '推理', '音乐', '旅行'] } lst1 = list(datas.items()) lst2 = [] i = 0 while i < len(lst1): lst2.append(lst1[i][1]) i += 1 lst3 = [] for a in range(0,len(lst2)): for b in range(0,len(lst2[a])): lst3.append(lst2[a][b]) lst4 = list(set(lst3)) d = {} for i in range(len(lst4)): t = {lst4[i]:lst3.count(lst4[i])} d.update(t) d1 = sorted(d.items(), key = lambda x:x[1], reverse = True) for i in d1: print(f'{i[0]}:{i[1]}')
实验截图
实验任务7
#task7_1
实验内容
""" 家用电器销售系统 v1.3 """ #欢迎信息 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('*' * 60) print('%-10s' %'编号', '%-10s' %'名称', '%-10s' %'品牌', '%-10s' %'价格', '%-10s' %'库存数量') print('-' * 65) for i in range(len(products)): print('%-10s' %products[i][0], '%-10s' %products[i][1], '%-10s' %products[i][2], '%-10s' %products[i][3], '%-10s' %products[i][4]) print('-' * 65) elif option == '2': products_id = input('请输入您要购买的产品编号:') while products_id not in [item[0] for item in products]: products_id = input('编号不存在,请重新输入您要购买的产品编号:') count = int(input('请输入您要购买的产品数量:')) while count > products[int(products_id) - 1][4]: count = int(input('数据超出库存,请重新输入您要购买的产品数量:')) #将所购买商品加入购物车 if products_id not in [item[0] for item in products_cart]: products_cart.append([products_id,count]) else: for i in range(len(products_cart)): if products_cart[i][0] == products_id: products_cart[i][1] += count #更新商品列表 for i in range(len(products)): if products[i][0] == products_id: products[i][4] -= count else: print('购物车信息如下:') print('*' * 60) print('%-10s' %'编号', '%-10s' %'购买数量') print('-' * 65) for i in range(len(products_cart)): print('%-10s' %products_cart[i][0], '%6d' %products_cart[i][1]) print('-' * 65) 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('谢谢您的光临,下次再见!')
实验截图
实验任务7
#task7_2
实验内容
""" 家用电器销售系统 v1.3 """ #欢迎信息 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('*' * 60) print(f"{'编号': <10} {'名称': <10} {'品牌': <10} {'价格': <10} {'库存数量': <10} ") print('-' * 65) for i in range(len(products)): print(f'{products[i][0]: <10} {products[i][1]: <10} {products[i][2]: <10} {products[i][3]: <10} {products[i][4]: <10}') print('-' * 65) elif option == '2': products_id = input('请输入您要购买的产品编号:') while products_id not in [item[0] for item in products]: products_id = input('编号不存在,请重新输入您要购买的产品编号:') count = int(input('请输入您要购买的产品数量:')) while count > products[int(products_id) - 1][4]: count = int(input('数据超出库存,请重新输入您要购买的产品数量:')) #将所购买商品加入购物车 if products_id not in [item[0] for item in products_cart]: products_cart.append([products_id,count]) else: for i in range(len(products_cart)): if products_cart[i][0] == products_id: products_cart[i][1] += count #更新商品列表 for i in range(len(products)): if products[i][0] == products_id: products[i][4] -= count else: print('购物车信息如下:') print('*' * 60) print(f"{'编号': <10} {'购买数量': <10}") print('-' * 65) for i in range(len(products_cart)): print(f"{products_cart[i][0]: <10} {products_cart[i][1]: > 6}") print('-' * 65) 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(f'购买成功,您需要支付{amount:.2f}元') #退出系统 print('谢谢您的光临,下次再见!')
实验截图
实验任务8
#task8_1
实验内容
""" 家用电器销售系统 v1.4 """ #欢迎信息 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('*' * 60) print('%-10s' %'编号', '%-10s' %'名称', '%-10s' %'品牌', '%-10s' %'价格', '%-10s' %'库存数量') print('-' * 65) for i in range(len(products)): print('%-10s' %products[i]['id'], '%-10s' %products[i]['name'], '%-10s' %products[i]['brand'], '%-10s' %products[i]['price'], '%-10s' %products[i]['count']) print('-' * 65) elif option == '2': products_id = input('请输入您要购买的产品编号:') while products_id not in [item['id'] for item in products]: products_id = input('编号不存在,请重新输入您要购买的产品编号:') count = int(input('请输入您要购买的产品数量:')) while count > products[int(products_id) - 1]['count']: count = int(input('数据超出库存,请重新输入您要购买的产品数量:')) #将所购买商品加入购物车 if products_id not in [item['id'] for item in products_cart]: products_cart.append({'id':products_id, 'count':count}) else: for i in range(len(products_cart)): if products_cart[i].get('id') == products_id: products_cart[i]['count'] += count #更新商品列表 for i in range(len(products)): if products[i]['id'] == products_id: products[i]['count'] -= count else: print('购物车信息如下:') print('*' * 60) print('%-10s' %'编号', '%-10s' %'购买数量') print('-' * 65) for i in range(len(products_cart)): print('%-10s' %products_cart[i]['id'], '%6d' %products_cart[i]['count']) print('-' * 65) 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('购买成功,您需要支付%8.2f 元' %amount) #退出系统 print('谢谢您的光临,下次再见!')
实验截图
实验任务8
#task8_2
实验内容
""" 家用电器销售系统 v1.4 """ #欢迎信息 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('*' * 60) print(f"{'编号': <10} {'名称': <10} {'品牌': <10} {'价格': <10} {'库存数量': <10} ") print('-' * 65) for i in range(len(products)): print(f"{products[i]['id']: <10} {products[i]['name']: <10} {products[i]['brand']: <10} {products[i]['price']: <10} {products[i]['count']: <10}") print('-' * 65) elif option == '2': products_id = input('请输入您要购买的产品编号:') while products_id not in [item['id'] for item in products]: products_id = input('编号不存在,请重新输入您要购买的产品编号:') count = int(input('请输入您要购买的产品数量:')) while count > products[int(products_id) - 1]['count']: count = int(input('数据超出库存,请重新输入您要购买的产品数量:')) #将所购买商品加入购物车 if products_id not in [item['id'] for item in products_cart]: products_cart.append({'id':products_id, 'count':count}) else: for i in range(len(products_cart)): if products_cart[i].get('id') == products_id: products_cart[i]['count'] += count #更新商品列表 for i in range(len(products)): if products[i]['id'] == products_id: products[i]['count'] -= count else: print('购物车信息如下:') print('*' * 60) print(f"{'编号': <10} {'购买数量': <10}") print('-' * 65) for i in range(len(products_cart)): print(f"{products_cart[i]['id']: <10} {products_cart[i]['count']: > 6}") print('-' * 65) 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(f'购买成功,您需要支付{amount:.2f}元') #退出系统 print('谢谢您的光临,下次再见!')
实验数据
标签:语句,count,编程,数据类型,cart,products,len,print,id From: https://www.cnblogs.com/lj1018/p/17332806.html