码迷,mamicode.com
首页 > 其他好文 > 详细

基本购物车的编写

时间:2020-07-22 13:50:44      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:for   color   lan   lse   编写   git   直接   size   div   

1,完成一个商城购物车的程序。
要求:
1,用户先给自己的账户充钱:比如先充3000元。
2.商品内容为:
goods = [
{‘name‘:‘苹果‘,‘price‘:10},
{‘name‘:‘梨子‘,‘price‘:12},
{‘name‘:‘香蕉‘,‘price‘:15},
{‘name‘:‘橘子‘,‘price‘:18},
{‘name‘:‘葡萄‘,‘price‘:20}
]
3,页面显示 序号 + 商品名称 + 商品价格,如:
1 苹果 10
2 梨子 12

n 购物车结算
q或者Q退出程序。

4,用户输入选择的商品序号,然后打印商品名称及商品价格,并将此商品,添加到购物车,用户还可继续添加商品。
5,如果用户输入的商品序号有误,则提示输入有误,并重新输入。
6,用户输入n为购物车结算,依次显示用户购物车里面的商品,数量及单价,
若充值的钱数不足,则让用户删除某商品,直至可以购买,若充值的钱数充足,则可以直接购买。
7,用户输入Q或者q退出程序。
8,退出程序之后,依次显示用户购买的商品,数量,单价,以及此次共消费多少钱,
账户余额多少,并将购买信息写入文件。
print(欢迎光临本店!.center(50,-))
goods = [
    {name:苹果,price:10},
    {name:梨子,price:12},
    {name:香蕉,price:15},
    {name:橘子,price:18},
    {name:葡萄,price:20}
]
shopping_car = []
balance = 0
while 1:
    print(‘‘‘
        请选择你的操作
        1.充值
        2.购买商品
        3.查看购物车
     ‘‘‘)
    user_choose = input(请选择1~3,输入q或者Q退出:)
    if user_choose.upper() == Q:
        print(欢迎下次光临!.center(50,*))
        break
    elif user_choose == 1:
        Add_balance = input(请输入充值的金额)
        if Add_balance.isdigit():
            balance += int(Add_balance)
            print(你当前的金额为{}.format(balance))
        else:
            print(输入有误,请重新输入)
    elif user_choose == 2:
        while 1:
            print(商品信息如下:.center(50,-))
            for i, k in enumerate(goods):
                print(序号:{}\t商品:{}\t价格:{}{}.format(i, k[name], k[price], ))
            print(请选择你需要购买的商品.center(50, -))
            user_choose_goods = input(请选择0~{},输入q或者Q退出.format(len(goods)-1))
            if user_choose_goods.upper() == Q:
                break
            elif 0 <= int(len(user_choose_goods)) < len(goods):
                shopping_car.append(goods[int(user_choose_goods)])
            else:
                print(输入有误,请重新输入)
    elif user_choose == 3:
            count = 0
            print(f \t 序号 \t 名称 \t\t 价格)
            for i in range(len(shopping_car)):
                print( \t {} \t\t {} \t\t {}.format(i,goods[i+1][name],goods[i+1][price]))
                count += int(shopping_car[i][price])
            print(‘‘‘
            总价:      {}
            余额:     {}
            输入n结算,输入商品序号0~{}删除商品
            ‘‘‘.format(count,balance,len(shopping_car)-1))
            while 1:
                user_choose_shop = input(请输入【q或Q返回上一级】,【0~{}删除对应商品】,【n结算】.format(len(shopping_car)-1))
                if user_choose_shop.upper() == Q:
                    break
                elif user_choose_shop.upper() == N:
                    if count <= balance:
                        balance = balance - count
                        print(结算成功,当前余额为{}.format(balance))
                        break
                    else:
                        print(余额不足,请充值)
                        break
                elif 0 < int(user_choose_shop) <= (len(shopping_car))+1:
                    del_goods = shopping_car.pop(int(user_choose_shop)-1)
                    print(您删除了{}.format(del_goods))
                else:
                     print(输入有误,请重新输入)
    else:
         print(输入有误,请重新输入)

 

 

基本购物车的编写

标签:for   color   lan   lse   编写   git   直接   size   div   

原文地址:https://www.cnblogs.com/world-sum/p/13359857.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!