zoukankan      html  css  js  c++  java
  • 基本购物车的编写

    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('序号:{}	商品:{}	价格:{}{}'.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' 	 序号 	 名称 		 价格')
                for i in range(len(shopping_car)):
                    print(' 	 {} 		 {} 		 {}'.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('输入有误,请重新输入')
     
  • 相关阅读:
    服务器端接受Json数据的绑定实现
    SQL 学习笔记
    asp.net mvc下的多语言方案 包含Html,Javascript和图片
    设计和创建自己的Sharepoint Site
    SharePoint类库简要总结
    TED-谷歌创始人演示谷歌眼睛
    为什么要有战争
    跨云应用部署:共享数据存储
    使用VNET-to-VNET连接Microsoft Azure国际版和中国版
    MySQL Database on Azure新功能
  • 原文地址:https://www.cnblogs.com/world-sum/p/13359857.html
Copyright © 2011-2022 走看看