python 购物车小程序(列表、循环、条件语句)

2019-01-21 02:42:36来源:博客园 阅读 ()

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

goods = [
    ['iphone6s',  5800],
    ['mac book',  9000],
    ['coffee',      32],
    ['python book', 80],
    ['bicyle',    1500],
]  

shopping_car = []
salary = input("Salary:")
if salary.isdigit():
    salary = int(salary)
else:
    print("只能输入整数,请重新输入:")
    salary = input("Salary:")
# 用n, i两个变量接收数据,默认把第1个赋给n,第2个值赋给i
for n, i in enumerate(goods, 1):    # enumerate() 给数出的列表内容前加序号(1表示序号从1开始)
    print(n, ">>>", i)

# 反复提示购买
while True:
    # 提醒用户要购买的商品编号
    choice = input("请输入您要购买商品的编号[退出:Q]:")

    # 判断用户输入的是不是整数
    if choice.isdigit():
        choice = int(choice)
        if (choice > 0) and (choice <= len(goods)):  # 判断用户输入的编码是否超出商品的范围
            # 计算余额
            balance = salary - goods[choice - 1][1]  # balance = 余额
            if balance < 0:
                print('您的余额不足,还剩%s' % salary)
            else:
                # 如果余额充足,将要购买的商品加入到购物车
                print("已加入", goods[choice - 1][0], "到您的购物车,当前余额为:", balance)
                salary = balance
                shopping_car.append(goods[choice - 1])
        else:
            print('编码不存在!')
    # 用户选择退出,打印购买的商品清单,以及剩余的钱
    elif choice == 'Q':
        print("--------您购买了以下商品---------")
        for i in shopping_car:
            print(i)
        print("您的余额为:", balance)
        exit()
    # 如果用户输入的既不是整数又不是Q(退出),则提醒用户重新输入
    else:
        print("请重新输入:")
        choice = input("请输入您要购买商品的编号[退出:Q]:")

 


原文链接:https://www.cnblogs.com/ss-long/p/10283320.html
如有疑问请与原作者联系

标签:

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

上一篇:python 列表(增删改查)

下一篇:20190116-将特定数字插入一个已经排序好的序列并且不改变其排序