zoukankan      html  css  js  c++  java
  • 习题四 答案

    方案一:

     1 goods = [
     2     {"name": "电脑", "price": 1999},
     3     {"name": "鼠标", "price": 10},
     4     {"name": "游艇", "price": 20},
     5     {"name": "美女", "price": 998}
     6 ]
     7 def chongzhi():
     8     global zongzichan
     9     e = int(input("请输入充值金额:"))
    10     zongzichan = zongzichan + e
    11     print("充值成功,返回购物车.")
    12     gouwuche()
    13     
    14 def gouwuche():
    15     global zongzichan
    16     xiaofei = 0
    17     print("您选购的商品如下:")
    18     for c, c1 in enumerate(list, 1):
    19         for c2, c3 in c1.items():
    20             xiaofei = xiaofei + c3
    21             print(c, c2, c3)
    22     print("总价格:", xiaofei)
    23     while True:
    24         d = input("请选择结算(yes) or 前往充值(no):")
    25         if d == "yes" and zongzichan >= 0:
    26             print("购买成功,您一共消费了:", xiaofei, "总资产剩余:", zongzichan)
    27             print("欢迎下次光临,再见.")
    28             break
    29         elif d == "yes" and zongzichan < 0:
    30             d1 = input("购买失败,余额不足,请选择前往充值(yes) or 前往购物车移除商品(no):")
    31             if d1 == "yes":
    32                 chongzhi()
    33             elif d1 == "no":
    34                 d2 = int(input("请输入商品编号移除出购物车:"))
    35                 d3 = list[d2-1]
    36                 for d4, d5 in d3.items():
    37                     zongzichan = zongzichan + d5
    38                     del list[d2-1]
    39                     print("您移除了:", d4, d5)
    40                     gouwuche()
    41             else:
    42                 print("指令错误")
    43         elif d == "no":
    44             chongzhi()
    45         else:
    46             print("指令错误")
    47         
    48     exit()
    49     
    50 def shangpin():
    51     global list
    52     global zongzichan
    53     list = []
    54     while True:
    55         print("商品编号、名称、价格列表:")
    56         for keys, a in enumerate(goods, 1):
    57             a1 = a.get("name")
    58             a2 = a.get("price")
    59             print(keys, a1, a2)
    60         dict = {}
    61         a3 = int(input("请输入商品编号将其加入购物车:"))
    62         zongzichan = zongzichan - goods[a3-1]["price"]
    63         a4 = goods[a3-1]["name"]
    64         a5 = goods[a3-1]["price"]
    65         print("商品:",goods[a3-1]["name"], "价格:",goods[a3-1]["price"], "已加入购物车.")
    66         dict[a4] = a5
    67         list.append(dict)
    68         b = input("请选择继续购物(yes) or 去购物车结算(no):")
    69         if b == "yes":
    70             continue
    71         elif b == "no":
    72             gouwuche()
    73         else:
    74             print("指令错误")
    75                 
    76 def zichan():
    77     global zongzichan
    78     zongzichan = int(input("请输入总资产:"))
    79     shangpin()
    80     
    81 zichan()

    方案二(无充值):

     1 goods = [
     2     {"name": "电脑", "price": 1999},
     3     {"name": "鼠标", "price": 10},
     4     {"name": "游艇", "price": 20},
     5     {"name": "美女", "price": 998}
     6 ]
     7 
     8 zongzichan = int(input("请输入总资产:"))
     9 xiaofei = 0
    10 gouwuche = {}
    11 for a in goods:
    12     print(a["name"], a["price"])
    13     
    14 while True:
    15     shangpin = input("请输入商品名称加入购物车 or 输入Y/y去购物车结算:")
    16     if shangpin.lower() == "y":
    17         break
    18     for a1 in goods:
    19         if a1["name"] == shangpin:
    20             if a1["name"] in gouwuche.keys():
    21                 gouwuche[a1["name"]]["num"] = gouwuche[a1["name"]]["num"] + 1
    22             else:
    23                 gouwuche[a1["name"]] = {"num":1, "jiage":a1["price"]} 
    24 
    25 for b , b1 in gouwuche.items():
    26     b2 = b1["jiage"]
    27     b3 = b1["num"]
    28     b4 = b2 * b3
    29     xiaofei  = xiaofei + b4
    30 if xiaofei > zongzichan:
    31     print("购买失败,余额不足")
    32 else:
    33     print("购买成功")
  • 相关阅读:
    网易企业免费邮箱
    168. Excel Sheet Column Title
    167.Two Sum II-Input array is sorted
    166. Fraction to Recurring Decimal
    165 Compare Version Numbers
    164. Maximum Gap
    163.Missing Ranges
    162.Find Peak Element
    161.One Edit Distance
    160. Intersection of Two Linked Lists
  • 原文地址:https://www.cnblogs.com/zhangzengqiang/p/7676606.html
Copyright © 2011-2022 走看看