python实现购物简单流程

2018-06-18 02:39:26来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

需求:

  1.启动程序后,让用户输入工资,然后打印商品列表
  2.允许用户根据商品编号购买商品
  3.用户选择商品后,检测余额时候够,够就直接扣款,不够就提醒
  4.可随时退出,退出时,打印已购买商品和余额

python环境:3.6.5

知识点:if-else,for,while

代码:

 

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# Author:coding2018

'''
需求:
    1.启动程序后,让用户输入工资,然后打印商品列表
    2.允许用户根据商品编号购买商品
    3.用户选择商品后,检测余额时候够,够就直接扣款,不够就提醒
    3.可随时退出,退出时,打印已购买商品和余额
'''

#商品列表
product_list = [
    ('iPhone',5800),
    ('Mac Pro',9800),
    ('Bike',800),
    ('Watch',10600),
    ('Coffee',31),
    ('Ales Python',120)
]
#购物车
shopping_list = []
#输入工资
salary = input("Input your salary:")
#isdigit() 方法检测字符串是否只由数字组成。
if salary.isdigit():
    #salary转换成int型
    salary = int(salary)
    #循环
    while True:
        #取product_list中商品下标和商品
        #enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)
        # 组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中
        for index,item in enumerate(product_list):
            print(index,item)
        print("q 退出")
        # for item in product_list:
        #     print(product_list.index(item),item)
        #输入表购买商品的标号
        user_choice = input("选择要买的商品编号>>>:")
        if user_choice.isdigit():
            user_choice = int(user_choice)
            #判断输入编号
            if user_choice < len(product_list) and user_choice >= 0:
                p_item = product_list[user_choice]
                #判断商品价格是否小于余额
                if p_item[1] <= salary:  #买的起
                    #商品加入购物车
                    shopping_list.append(p_item)
                    #余额减少
                    salary -= p_item[1]
                    print("Added %s into shopping cart, your current balance is \033[31;1m%s\033[0m" %(p_item,salary))
                else:
                    print("\033[41;1m你的余额只有[%s],无法购买\033[0m" % salary)
            else:
                print("product code [%s] is not exist!" % user_choice)
        elif user_choice == 'q':
            print('--------------shopping list---------------')
            for p in shopping_list:
                print(p)
            print("Your current balance:",salary)
            exit()
        else:
            print("invalid option")


else:
    print("该输入不是只由数字组成")

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Python学习-购物车程序

下一篇:16 元类