python_day3作业
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python_day3作业相关的知识,希望对你有一定的参考价值。
一、元素分类
有如下值集合 [11,22,33,44,55,66,77,88,99,90...],
将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {‘k1‘: 大于66的所有值, ‘k2‘: 小于66的所有值}
1 list_num = [11,22,33,44,55,66,77,88,99,90] 2 dir_num = { 3 ‘k1‘:[], 4 ‘k2‘:[], 5 } 6 for i in list_num: 7 if i > 66: 8 dir_num[‘k1‘].append(i) 9 else: 10 dir_num[‘k2‘].append(i) 11 print(dir_num)
二、查找列表中元素,移除每个元素的空格,并查找以 a或A开头 并且以 c 结尾的所有元素。
1 li = ["alec", " aric", "Alex", "Tony", "rain"] 2 tu = ("alec", " aric", "Alex", "Tony", "rain") 3 dic = {‘k1‘: "alex", ‘k2‘: ‘ aric‘, "k3": "Alex", "k4": "Tony"} 4 for i in li: 5 i = i.strip() 6 if (i.startswith(‘A‘) or i.startswith(‘a‘)) and i.endswith(‘c‘) : 7 print(i)
1 li = ["alec", " aric", "Alex", "Tony", "rain"] 2 tu = ("alec", " aric", "Alex", "Tony", "rain") 3 dic = {‘k1‘: "alex", ‘k2‘: ‘ aric‘, "k3": "Alex", "k4": "Tony"} 4 for i in tu: 5 i = i.strip() 6 if (i.startswith(‘A‘) or i.startswith(‘a‘)) and i.endswith(‘c‘) : 7 print(i)
1 li = ["alec", " aric", "Alex", "Tony", "rain"] 2 tu = ("alec", " aric", "Alex", "Tony", "rain") 3 dic = {‘k1‘: "alex", ‘k2‘: ‘ aric‘, "k3": "Alex", "k4": "Tony"} 4 for i in dic.values(): 5 i = i.strip() 6 if (i.startswith(‘A‘) or i.startswith(‘a‘)) and i.endswith(‘c‘) : 7 print(i)
三、输出商品列表,用户输入序号,显示用户选中的商品
1 li = ["手机", "电脑", ‘鼠标垫‘, ‘游艇‘] 2 for k,i in enumerate(li,1): 3 print(k,i) 4 user = int(input(‘请输入商品序号:‘)) 5 print(li[user-1])
四、购物车
功能要求:
要求用户输入总资产,例如:2000
显示商品列表,让用户根据序号选择商品,加入购物车
购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
附加:可充值、某商品移除购物车
1 goods = [ 2 {"name": "电脑", "price": 1999}, 3 {"name": "鼠标", "price": 10}, 4 {"name": "游艇", "price": 20}, 5 {"name": "美女", "price": 998}, 6 ] 7 # 购物车 8 shopping_cart = [] 9 # 购物总金额 10 shopping_money = 0 11 # 用户资产 12 arg = True 13 while arg: 14 user_property = input(‘总资产:‘) #等待用户输入资产金额 15 if user_property.isdigit(): #判断用户输入是不是数字 16 while arg: #while 循环 17 print(‘商品列表:‘) #界面显示文字 ‘商品列表‘ 18 for k,i in enumerate(goods,1): #循环goods列表 19 print(‘序列:%s 名称:%s 价格:%s ‘%(k,i[‘name‘],i[‘price‘])) #显示goods商品列表 20 user_buy = input(‘选择序号添加购物车,按q键退出>>>‘) #user_buy 加入购物车 21 if user_buy.isdigit(): #判断用户输入是否是数字 22 user_buy = int(user_buy) #转换int整数 23 if user_buy <= len(goods): #判断用户输入的数字是否在列表存在 24 shopping_cart.append(goods[user_buy-1]) #把用户购买的商品加入购物车 25 print(‘----------------已购买商品----------------‘) 26 for z,i in enumerate(shopping_cart,1): #循环购物车,打印出已购买商品清单 27 print(‘序列:%s名称:%s价格:%s‘%(z,i[‘name‘],i[‘price‘])) 28 print(‘------------------------------------------‘) 29 elif user_buy == ‘q‘: #用户输入q退出商品列表界面 30 for n in shopping_cart: # 循环购物车商品,提取金额 31 shopping_money += (n[‘price‘]) # 把金额添加到自定义变量shopping_money,得出购物总金额 32 user_property = int(user_property) # 把user_property转换int类型 33 arg = False #退出循环 34 else: 35 print(‘只能输入整数‘) 36 continue #用户输入资产金额,不是数字 直接continue返回从新输入资产金额 37 while True: #while 循环 38 while True: 39 ppa = input(‘1 充值\n2 选择删除购物车物品\n3 结算\n>>>>>‘) #等待用户输入选择 40 if ppa == ‘1‘: #用户选择充值 41 while True: 42 pay = input(‘请输入充值金额:‘) #等待用户输入充值金额 43 if pay.isdigit(): #判断用户输入是否是数字 44 pay = int(pay) #把pay转换成int类型 45 user_property += pay #把用充值金额加到总资产金额里 46 print(‘ 余额:‘,user_property) #显示用户当前余额(包括已充值) 47 print(‘------------------------------------------‘) 48 break #充值完退出次循环 49 continue #用户输入的不是数字,返回从新输入金额 50 elif ppa == ‘2‘: #用户选择删除 51 print(‘----------------已购买商品----------------‘) 52 for z,i in enumerate(shopping_cart,1): #显示购物车列表 53 print(z,(i[‘name‘],i[‘price‘])) 54 print(‘------------------------------------------‘) 55 while True: 56 cc = (input(‘选择删除物品的序列号\n退出按q键:‘)) #等待用户选择删除物品序列 57 if cc.isdigit(): #判断用户输入是否是数字 58 cc = int(cc) #把用户输入转换int类型 59 shopping_money -= (shopping_cart[cc-1][‘price‘]) #把用户删除物品价格从shopping_money中去除 60 del shopping_cart[cc-1] #从购物车把物品删除 61 for z,i in enumerate(shopping_cart,1): #循环显示剩下购物车物品 62 print(z,(i[‘name‘],i[‘price‘])) 63 else: #按q键退出删除选项 64 break 65 elif ppa == ‘3‘: #用户选择结算 66 if shopping_money <= user_property: #如果购物车金额小于等于总金额则购买成功 67 print(‘----------------已购买商品----------------‘) 68 for z, i in enumerate(shopping_cart, 1): 69 print(z, (i[‘name‘], i[‘price‘])) 70 print(‘------------------------------------------‘) 71 print(‘ 余额:%s元‘ % (user_property - shopping_money)) 72 break 73 else: #如果购物车金额大于等于总金额则购买失败 74 print(‘金额不足!‘‘ 还差金额:‘, (shopping_money - user_property)) 75 print(‘------------------------------------------‘) 76 break #退出此次大循环
五、用户交互,显示省市县三级联动的选择
1 dic = { 2 "河北": { 3 "石家庄": ["鹿泉", "藁城", "元氏"], 4 "邯郸": ["永年", "涉县", "磁县"], 5 }, 6 "河南": {"郑州": ["不知道", "少林寺", "嵩山"], 7 "邯郸": ["包拯", "展昭", "五鼠"] 8 }, 9 "山西": {‘太原‘:[‘xxx‘,‘ooo‘,‘999‘],‘运城‘:[‘撒旦‘,‘耶稣‘,‘华盛顿‘]} 10 } 11 for i in dic: 12 print(i) 13 name = input(‘请输入省份:‘) 14 dic_1 = dic[name] 15 for z in dic_1: 16 print(z) 17 name_1 = input(‘请输入县城:‘) 18 dic_2 = dic_1[name_1] 19 for x in dic_2: 20 print(x)
以上是关于python_day3作业的主要内容,如果未能解决你的问题,请参考以下文章