Python简单购物车程序优化

#定义商品列表
Item_List = [
    ('零食', 2),
    ('饮料', 3),
    ('方便面', 5),
    ('雪糕', 3),
]
#定义已购买列表
Shopping_list = []
Total_Money = input('请输入当前余额:')
#判断输入的金额是否为数字
if Total_Money.isdigit():
    Total_Money = int(Total_Money)
    #打印商品列表
    while True:
    #这里用枚举的方式列出下标和值
        for index, item in enumerate(Item_List):
            print(index, '-', item)
        User_Select = input('请输入要购买的商品编号:')
     #判断输入的物品编号是否为数字
        if User_Select.isdigit():
            User_Select = int(User_Select)
     #判断输入的数字与物品列表长度是否匹配
            if User_Select < len(Item_List) and User_Select >= 0:
     #根据数字取相应的物品
                p_item = Item_List[User_Select]
     #判断余额是否足够购买此商品
                if p_item[1] <= Total_Money:
                    Shopping_list.append(p_item)
                    Total_Money = Total_Money - p_item[1]
                    print('成功购买了\033[31:1m%s\033[0m,当前余额为\033[31:1m%s\033[0m'%(Item_List[User_Select][0],Total_Money))
                else:
                    print('\033[31:1m您的余额不足!\033[0m')
            else:
                print('\033[31:1m您输入的商品编号不存在!\033[0m')
        elif User_Select == 'Q' or User_Select == 'q':
            print('---------------购买的物品列表-------------')
            for i in Shopping_list:
                print(i)
            print('\033[31:1m程序退出\033[0m')
            exit()
else:
    print('\033[31:1m输入错误,程序退出\033[0m')

这里一个小技巧就是使用\033[31:1mxxxxxxxxxx\033[0m对输出的文字上色

发表评论

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据