Python学习第二天-编写购物车

需求:1.启动程序后,让用户输入工资,然后打印商品列表

        2.允许用户根据商品编号购买商品

        3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 

        4.可随时退出,退出时,打印已购买商品和余额

# Author: zfh
#-*-coding:utf-8-*-
product_list = [
    ('Oracle book',100),
    ('pencil', 10),
    ('rule',100),
    ('iphone',2000),
    ('box',200)
]
shopping_list = []
shopping_cost = 0
shopping_num = 0
i = 0
while i < 3 :
    salary = input("Input your salary:")
    if salary.isdigit():
        salary = int(salary)
        while True:
            for index,item in enumerate(product_list):
                print(index,item)
            user_choice = input("Please choice >>>:")
            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]
                        shopping_cost += p_item[1]
                        shopping_num += 1
                        print("Added %s into shopping cart,your current balance is 33[31;1m %s 33[0m" %(p_item,salary))
                    else:
                        print("33[41;1m你的余额只剩[%s]" % salary)
                else:
                    print("商品不存在,请重新选择!".center(50,'-'))
            elif user_choice == 'q':
                print("shopping_list".center(50,'-'))
                for p in shopping_list:
                    print(p)
                print("共花费 %s 元," % shopping_cost,"共购买件 %s 商品" % shopping_num)
                print("Your current balance:",salary)
                exit()
            else:
                print("invalid option".center(50,'-'))
    else:
        print("输入错误,请重新输入金额".center(50,'-'))
        i += 1
原文地址:https://www.cnblogs.com/fameg/p/9652190.html