day01 练习题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day01 练习题相关的知识,希望对你有一定的参考价值。
1. 元素分类
有如下值集合 v1 = [11,22,33,44,55,66,77,88,99,90],
将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {‘k1‘: 大于66的所有值, ‘k2‘: 小于66的所有值}
v2 = {‘k1‘: [],‘k2‘:[] }
1 #!/usr/bin/python 2 # -*- coding:utf-8 -*- 3 # a.元素分类 4 v1 = [11,22,33,44,55,66,77,88,99,90] 5 v2 = {‘k1‘:[],‘k2‘:[]} 6 for i in v1: 7 if i < 66: 8 v2[‘k1‘].append(i) 9 else: 10 v2[‘k2‘].append(i) 11 print(v2)
2. 功能要求:
要求用户输入总资产,例如:2000;
显示商品列表,让用户根据序号选择商品,加入购物车购买;
如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
1 #!/usr/bin/python 2 # -*- coding:utf-8 -*- 3 goods = [ 4 {"name": "电脑", "price": 1999}, 5 {"name": "鼠标", "price": 10}, 6 {"name": "游艇", "price": 20}, 7 {"name": "美女", "price": 998}, 8 ] 9 salary = input(‘总资产:‘) 10 list = [] 11 shopping_cart = [] 12 if salary.isnumeric(): 13 salary = int(salary) 14 for i in goods: 15 item = [] 16 item.append(i[‘name‘]) 17 item.append(i[‘price‘]) 18 list.append(item) 19 # for x in list: # 此方法与下面的方法输出结果一致 20 # print(list.index(x),x) 21 print(‘----- 商品列表 ------‘) 22 for index,goods_list in enumerate(list): 23 print(index,goods_list) 24 while True: 25 choice_id = input(‘选择商品或退出(q):‘) 26 if choice_id.isdigit(): 27 choice_id = int(choice_id) 28 if choice_id < len(list): 29 if salary >= list[choice_id][1]: 30 shopping_cart.append(list[choice_id]) 31 salary -= list[choice_id][1] 32 print(‘已添加 "%s" 至购物车,余额:\033[31;1m%s\033[0m‘% (list[choice_id][0],salary)) 33 else: 34 print(‘余额不足‘) 35 else: 36 print(‘商品不存在‘) 37 elif choice_id == ‘q‘: 38 print(‘余额:\033[31;1m%s\033[0m, 已购买的商品:‘% salary) 39 for id, al_shop in enumerate(shopping_cart): 40 print(id, al_shop) 41 exit(‘退出‘) 42 else: 43 print(‘Invalid option‘) 44 else: 45 print(‘输入无效‘)
3.用户交互,显示省市县三级联动的选择
dic = {
‘河北‘:{
‘石家庄‘:[‘鹿泉‘,‘藁城‘,‘元氏‘],
‘邯郸‘:[‘永年‘,‘涉县‘,‘磁县‘],
},
‘湖北‘:{
‘十堰‘:[‘茅箭‘,‘郧西‘,‘张湾‘],
‘襄阳‘:[‘襄城‘,‘樊城‘,‘南鄣‘],
},
‘北京‘:{
‘朝阳‘:[‘北苑‘,‘大屯‘,‘奥运村‘],
‘昌平‘:[‘回龙观‘,‘天通苑‘,‘立水桥‘],
},
}
1 #!/usr/bin/python 2 # -*- coding:utf-8 -*- 3 4 # c.用户交互,显示省市县三级联动的选择 5 dic = { 6 ‘河北‘:{ 7 ‘石家庄‘:[‘鹿泉‘,‘藁城‘,‘元氏‘], 8 ‘邯郸‘:[‘永年‘,‘涉县‘,‘磁县‘], 9 }, 10 ‘湖北‘:{ 11 ‘十堰‘:[‘茅箭‘,‘郧西‘,‘张湾‘], 12 ‘襄阳‘:[‘襄城‘,‘樊城‘,‘南鄣‘], 13 }, 14 ‘北京‘:{ 15 ‘朝阳‘:[‘北苑‘,‘大屯‘,‘奥运村‘], 16 ‘昌平‘:[‘回龙观‘,‘天通苑‘,‘立水桥‘], 17 }, 18 } 19 20 while True: 21 print(‘-------- 省列表 -------‘) 22 for province in dic: 23 print(province) 24 prov = input(‘请输入省,q 退出:‘) 25 if prov in dic: 26 while True: 27 print(‘-------- 市列表 --------‘) 28 for city_list in dic[prov].keys(): 29 print(‘\t‘,city_list) 30 choice_city = input(‘请选择市,b 返回:‘) 31 if choice_city in dic[prov].keys(): 32 print(‘------- 县列表 -------‘) 33 while True: 34 for county_list in dic[prov][choice_city]: 35 print(‘\t\t‘,county_list) 36 choice_county = input(‘请选择县, b 返回:‘) 37 if choice_county in dic[prov][choice_city]: 38 print(‘您选择的是:%s省,%s市,%s县‘% (prov,choice_city,choice_county)) 39 quit = input(‘您还想继续吗?q 退出,b 返回,其它键继续:‘) 40 if quit == ‘q‘: 41 exit(‘不玩了‘) 42 elif quit == ‘b‘: 43 break 44 elif choice_county == ‘b‘: 45 break 46 else: 47 print(‘您选择的县不存在‘) 48 #break 49 elif choice_city == ‘b‘: 50 break 51 else: 52 print(‘您选择的市不存在‘) 53 #break 54 elif prov == ‘q‘: 55 print(‘===== 退出系统 =====‘) 56 break 57 else: 58 print(‘您输入的省不存在‘)
以上是关于day01 练习题的主要内容,如果未能解决你的问题,请参考以下文章