编程语言的学习 ------ python3 循环语句以及列表的练习(购物车小练习优化二)

这次对购物车小练习又进行了一次优化,主要目的是为了对于列表与元组的记忆与理解,其中还有的地方仍然需要优化,下午再继续进行优化,具体的代码如下:

#Author:wqh
#定义一个商品的列表
goods = [('iphone',8000),
         ('imac book',10000),
         ('python book',100),
         ('tv',5000),
         ('others',1000)]
#定义一个空列表将用户购买的商品添加进去
user_choose = []
left_money_list = []
#询问用户是否想购买商品
enter_entry = input("do you want to buy somethings? y/n:")
#输入用户的工资情况,
user_salary = int(input("please input your salary:"))#输入必须是数字,否则会报错
#进入循环判断用户购买与
while enter_entry == 'y':
    print("--------------------------------------------------")
    # 打印商品列表
    for item in enumerate(goods, start = 1):
        index = item[0]
        g_name = item[1][0]
        g_price = item[1][1]
        print(index, g_name, g_price)
    print("--------------------------------------------------")
    user_choice = int(input("please input your choose(1-5):")) - 1
    print("--------------------------------------------------")
    #将商品的列表形式转化为元组形式,以便下面直接使用元组中的元素
    items = goods[user_choice]
    #判断用户的输入的工资与商品的价钱关系
    if user_salary >= items[1]:
        print("added success!")
        #将用户所选商品添加至用户空列表中
        user_choose.append(items[0])
        #计算用户所剩的工资钱数
        left_money = user_salary - items[1]
        #将用户所剩钱数添加至用户剩余钱数空列表中
        left_money_list.append(left_money)
        print("your items is",user_choose[user_choice],",your left money is",left_money_list[user_choice])
        #询问用户是否想继续购物,然后进行判断
        enter_continue = input("do you want to continue? y/n:")
        if enter_continue == 'y':
            print("please shopping")
            # 将用户剩余的钱数赋值给用户的原来输入,继续进行循环
            user_salary = left_money
            continue
        else:
            print("program exit")
            break
    else:
        print("you have no enough money!")
        break
print("your items is ",user_choose,"your left money is",left_money_list[user_choice])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值