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)
View Code

二、查找列表中元素,移除每个元素的空格,并查找以 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])
View Code

四、购物车

功能要求:
要求用户输入总资产,例如: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                           #退出此次大循环
View Code

五、用户交互,显示省市县三级联动的选择

技术分享
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)
View Code

 







以上是关于python_day3作业的主要内容,如果未能解决你的问题,请参考以下文章

python_day2作业

python_day1作业

铁乐学python_day01-作业

铁乐学Python_day12_作业

铁乐学python_day09_作业

Python_day_01