zoukankan      html  css  js  c++  java
  • pyton写购物车

    pyton写购物车

    基本要求:

    用户输入工资,然后打印购物菜单
    用户可以不断的购买商品,直到余额不够为止
    退出时打印用户已购买的商品和剩余金额。。

    1.这个程序功能不完整,bug很多,练手之作。

    
    
     1 goods = ['Iphone: 5000','mac Pro: 12000','alex python: 81','Bike: 800','Starback latte: 31']
     2 salary = input('请输入您的工资:')
     3 print('------- 商品列表如下输入序号即可加入购物车 -------')
     4 print('温馨提示:输入序号8即可退出程序!')
     5 for i in goods:
     6     print(goods.index(i)+1,'. '+i)
     7 
     8 shopping_car = []
     9 while True:
    10     shopping_num = int(input('请输入要购买的商品序号:'))
    11     if shopping_num == 1:
    12         shopping_car.append(goods[shopping_num-1])
    13         continue
    14     elif shopping_num == 2:
    15         shopping_car.append(goods[shopping_num-1])
    16         continue
    17     elif shopping_num == 3:
    18         shopping_car.append(goods[shopping_num - 1])
    19         continue
    20     elif shopping_num == 4:
    21         shopping_car.append(goods[shopping_num - 1])
    22         continue
    23     elif shopping_num == 5:
    24         shopping_car.append(goods[shopping_num - 1])
    25         continue
    26     elif shopping_num == 8:
    27         break
    28     else:
    29         print('没有该商品请重新输入商品序号:')
    30         continue
    31 
    32 print('您所购买的商品如下:')
    33 for i in shopping_car:
    34     print(shopping_car.index(i),'.'+i)
    
    
    

    2.这个程序参照alex的pyhon讲解所写,功能比较完善,但是还有很多地方可以改善,比如可以用函数等知识来优化此程序。
     1 goods = [('Iphone',50000),('mac Pro',12000),('alex python',81),('Bike',800),('Starback latte',31)]
     2 print('------- 商品列表如下输入序号即可加入购物车 -------')
     3 print('温馨提示:输入q即可退出程序!')
     4 salary = input('请输入您的工资:')
     5 shopping_list = []
     6 if salary.isdigit():                               #判断工资输入是否是数字
     7     salary = int(salary)
     8     while True:
     9         for index,item in enumerate(goods):        #for循环打印商品列表
    10             print('%s.%s'% (index,item))
    11 
    12         user_choice = input('请输入需要购买的商品序号:')
    13         if user_choice.isdigit():                  #判断序号选择是否是数字
    14             user_choice = int(user_choice)
    15             if user_choice < len(goods) and user_choice >= 0:    #选择的范围不能超出
    16                 p_item = goods[user_choice]                      #提取商品
    17                 if p_item[1] <= salary:                           #判断工资是否购买商品
    18                     shopping_list.append(goods[user_choice])      #已购商品存入列表
    19                     salary = salary - p_item[1]                    #计算余额
    20                     print("%s已经添加到购物车中,您的余额还剩%s元!"% (p_item,salary))
    21                 else:
    22                     print('您的余额还剩%s不够了!'% salary)
    23             else:
    24                 print('错误选项!商品不存在,请重新选择!')
    25         elif user_choice == 'q'and 'Q':                         #离开程序
    26             print('------购物车东西如下---------')
    27             for i in shopping_list:                             #打印已购买的商品
    28                 print(i)
    29             print('您的余额还剩%s...' % salary)                   #打印余额
    30             break
    31         else:
    32             print('错误选项!')
     
  • 相关阅读:
    PIL.Image 与 base64互转
    python pytorch ssd网络
    mysql 的左连接、又连接、内连接详细介绍
    base64图片数据类型转numpy的ndarray矩阵类型数据
    kettle学习资料
    kettle 连接 mysql8.0 报错的解决办法 org.pentaho.di.core.exception.KettleDatabaseException: Error occurred while trying to connect to the database Error connecting to database: (using class org.gjt.mm.mysql.
    python pandas 自动生成批量测试数据插入数据库 mysql
    finereport点击图表钻取到明细表包括参数传递
    finereport连接mysql8.0的解决办法
    kettle7.0 Windows10 mysql8.0 连接mysql驱动报错,问题解决
  • 原文地址:https://www.cnblogs.com/hsj-jingyu/p/8296186.html
Copyright © 2011-2022 走看看