zoukankan      html  css  js  c++  java
  • 购物车,BMI

     1 oods = [
     2      {'name':'电脑','price':1999},
     3      {'name':'鼠标','price':10},
     4      {'name':'美女','price':50},
     5      {'name':'游艇','price':20},
     6      {'name':'火箭','price':250},
     7  ]
     8 shop_car={}
     9 feiyong=0
    10 money=input("请输入您的金额:")
    11 if money.isdigit():
    12     while True:
    13         for i in range(len(goods)):
    14           print(i+1,goods[i]['name'],goods[i]['price'])
    15         # ===================商品展示======================
    16         number=input("请输入您要购买的商品序号(N/结算,Q/退出:")
    17         if number.isdigit() and 0< int(number) < len(goods):
    18             # 让用户输入商品序号并判断是不是数字以及在不在正常输入范围内
    19 
    20             index = int(number) - 1
    21             # 通过用户输入的内容减一获取到goods的索引
    22             
    23             if shop_car.get(index)==None:
    24                 shop_car[index]=1
    25             else:
    26                 shop_car[index] +=1
    27                 # ====================让用户把商品加入到购物车中====================
    28 
    29         elif number.upper()=='N':
    30             for i in shop_car:
    31                 feiyong=feiyong+shop_car[i]*goods[i]['price']
    32             if int(money) >=feiyong:
    33                 for el in shop_car:
    34                     print(f'您购买的商品是{goods[el]["name"]},单价是{goods[el]["price"]},数量是{shop_car[el]}')
    35             else:
    36                 print("余额不足")
    37         elif number=="Q":
    38             print(f'您本次消费的金额是{feiyong},剩余金额是{int(money)-feiyong}')
    39         else:
    40             print("输入有误,请重新输入")
    41 else:
    42     print("请您给真钱"
    购物车
      1 # 1.创建并输出菜单, 菜单是不可变的. 所以使用元组
      2 # menus = ("1, 录入", "2, 查询", "3, 删除", "4, 修改", "5, 退出")
      3 
      4 # 存储用户的信息    id: {'name':'名字', 'weight':体重, 'height':身高}
      5 # 例如:目前有两个用户信息:1. 汪峰, 2. 章子怡
      6 # 存储结构:
      7 # {
      8 #   1:{'name':'汪峰', 'weight':80, 'height':1.8, 'BMI':24.7},
      9 #   2:{'name':'章子怡', 'weight':50, 'height':1.65, 'BMI':18.4}
     10 # }
     11 # bodies = {}
     12 
     13 # body_id = 1  # 编号从1开始
     14 
     15 # 体质指数(BMI)= 体重(kg)÷ (身高(m) x 身高(m))
     16 # 体重的单位: KG
     17 # 身高的单位: m
     18 # 需求:首先。打印菜单,然后用户输入选择的菜单项
     19 # 输入1:进入录入环节。用户需要录入:名字,身高,体重.
     20 #       由程序计算出BMI指数. 保存到bodies字典中. 第一个用户的id是1, 第二个是2, 以此类推
     21 #       录入完毕后. 提示用户是否继续录入. 如果选择是, 则继续进行录入, 直到用户输入否. 则返回到主菜单
     22 # 输入2: 进入查询环节, 提示用户输入要查询的人的id. 如果不存在,给与提示, 如果存在. 则显示出该用户的全部信息(名字,身高,体重,BMI)
     23 #       然后提示用户是否继续查询. 如果选择是, 继续进行查询, 直到用户输入否, 返回主菜单
     24 # 输入3: 进入删除环节, 提示用户输入要删除的人的id, 如果id不存在, 给与提示, 如果存在, 则执行删除操作. 并提示删除成功.
     25 #        然后提示用户是否继续删除, 如果是, 继续让用户选择要删除的id, 直到用户输入否, 返回主菜单
     26 # 输入4: 进入修改环节, 首先让用户输入要修改的人的id, 根据id查找用户信息, 如果不存在, 给与提示, 如果存在, 将用户原信息进行打印,
     27 #       然后提示用户输入新的名字, 身高, 体重. 由程序重新计算BMI指数. 并将新的信息保存在bodies中. 同时给用户展示新的用户信息
     28 #       然后提示用户是否继续修改, 如果是, 则继续要求用户输入id信息. 直到用户输入否, 返回主菜单.
     29 # 输入5: 程序退出.
     30 # 输入其他任何内容. 都予以提示不合法. 让用户重新进行输入
     31 menus = ("1, 录入", "2, 查询", "3, 删除", "4, 修改", "5, 退出")
     32 bodies={
     33   1:{'name':'汪峰', 'weight':80, 'height':1.8, 'BMI':24.7},
     34   2:{'name':'章子怡', 'weight':50, 'height':1.65, 'BMI':18.4}
     35 }
     36 # bodies = {}   # 人
     37 
     38 body_id = 1  # 编号从1开始  key
     39 
     40 l=[]   # ids
     41 
     42 
     43 while 1:  # 主菜单
     44     for i in menus:
     45         print(i)
     46     s=input("主菜单:请选择功能:")
     47     if s=="1":
     48         while 1:
     49             print("1, 录入")
     50             name = input("请输入名字:")
     51             height = float(input("身高m:"))
     52             weight = float(input("体重kg:"))
     53             b = int(weight/(height**2))  #
     54             bodies[body_id]={'name':name, 'weight':weight, 'height':height, 'BMI':b}
     55             # print(bodies)
     56             body_id+=1
     57             jixu = input("是否继续录入y/n:")
     58             if jixu.lower()=='y':
     59                 print("继续录入")
     60             else:# n
     61                 break
     62     elif s=="2":
     63         while 1:
     64             print("2, 查询")
     65             d = int(input("请输入要查询的id:"))
     66             for i in bodies:
     67                 l.append(i)
     68             if d in l:
     69                 print("名字%s,身高%s,体重%s,BMI%s"%(bodies[d]["name"],bodies[d]["height"],bodies[d]["weight"],bodies[d]["BMI"]))
     70             else:
     71                 print("没有该用户")
     72             jixu = input("是否继续查询y/n:")
     73             if jixu.lower() == 'y':
     74                 print("继续查询")
     75             else:  # n
     76                 break
     77     elif s=="3":
     78         print("3, 删除")
     79         while 1:
     80             print("3, 删除")
     81             d = int(input("请输入要删除的id:"))
     82             for i in bodies:
     83                 l.append(i)
     84             if d in l:
     85                 print("名字%s,身高%s,体重%s,BMI%s"%(bodies[d]["name"],bodies[d]["height"],bodies[d]["weight"],bodies[d]["BMI"]))
     86                 del bodies[d]
     87             else:
     88                 print("没有该用户")
     89             jixu = input("是否继续删除y/n:")
     90             if jixu.lower() == 'y':
     91                 print("继续删除")
     92             else:  # n
     93                 break
     94     elif s=="4":
     95         print("4, 修改")
     96         while 1:
     97             print("4, 修改")
     98             d = int(input("请输入要修改的id:"))
     99             for i in bodies:
    100                 l.append(i)
    101             if d in l:
    102                 print("原信息!!!名字%s,身高%s,体重%s,BMI%s"%(bodies[d]["name"],bodies[d]["height"],bodies[d]["weight"],bodies[d]["BMI"]))
    103                 name = input("新名字:")
    104                 height = float(input("新身高m:"))
    105                 weight = float(input("新体重kg:"))
    106                 b = int(weight / (height ** 2))  #
    107                 bodies[body_id] = {'name': name, 'weight': weight, 'height': height, 'BMI': b}
    108                 print("新信息!!!名字%s,身高%s,体重%s,BMI%s" % (
    109                 bodies[d]["name"], bodies[d]["height"], bodies[d]["weight"], bodies[d]["BMI"]))
    110             else:
    111                 print("没有该用户")
    112             jixu = input("是否继续修改y/n:")
    113             if jixu.lower() == 'y':
    114                 print("继续修改")
    115             else:  # n
    116                 break
    117     elif s=="5":
    118         print("5, 退出")
    119         break
    120     else:
    121         print("输入有误!")
    BMI
  • 相关阅读:
    程序员:不要自称为码农
    SpringBoot对静态资源配置
    LeetCode 572. Subtree of Another Tree(子树)
    LeetCode 437. Path Sum III(统计路径和等于sum的路径数量)
    LeetCode 112. Path Sum(判断路径和是否等于一个数)
    LeetCode 617. Merge Two Binary Trees(归并两棵二叉树)
    LeetCode 226. Invert Binary Tree(翻转二叉树)
    Failure to transfer org.apache.maven.plugins:maven-resources-plugin:pom:2.6 的解决办法
    linux-查询某软件的安装的目录
    WebService概念解释
  • 原文地址:https://www.cnblogs.com/mlhz/p/9498376.html
Copyright © 2011-2022 走看看