zoukankan      html  css  js  c++  java
  • 购物车程序

    作业需求:

    数据结构:
    goods = [
    {"name": "电脑", "price": 1999},
    {"name": "鼠标", "price": 10},
    {"name": "游艇", "price": 20},
    {"name": "美女", "price": 998},
    ......
    ]
    
    功能要求:
    基础要求:
    
    1、启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表
    
    2、允许用户根据商品编号购买商品
    
    3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
    
    4、可随时退出,退出时,打印已购买商品和余额
    
    5、在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,需高亮显示
    
    
    扩展需求:
    
    1、用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消费的余额什么的还是那些,再次登录可继续购买
    
    2、允许查询之前的消费记录


    # 系统储存的用户名密码信息:
    user_info = {'andyzhang':'123','hanmei':'321','yaoyao':'023'}

     goods = [{'name': '平板电脑', 'price': 2109}, {'name': '耳机', 'price': 25}, {'name': '游艇', 'price': 2000}, {'name': '美女', 'price': 998}]

    exit_flag = false #设立标识符
    while not exit_flag: #循环,用户名密码错误之后能让用户再次输入
      name_input = input('请输入用户名:')
      password_input=input('请输入密码:')

    #判断用户名、密码是否正确
    #用户名、密码正确则登录

      if password_input == user_info.get(name_input)

        print('登录成功')

        salary_input = int(input('请输入您的工资:'))

        #输入工资后打印商品列表

        print('--------商品列表--------')

        for k, i in enumerate(goods):

          print('%s. %s  price:%s' % (k,i[name],i[price]))

        #定义一个购物车为空列表

        cart = []

        #用户输入有2种情况:

        #1、用户输入数字:如果输入的数字是商品编码,则把相应的商品添加到购物车;

        #如果输入的数字不是商品编码,则提示“商品编码错误”信息;

        #2、输入字母“q”则退出

        while not exit_flag:   #循环,让用户可以持续添加商品编码

          product_choice = input(请输入您要购买的商品编号:)

          #第一种情况:用户输入的是数字

          if product_choice.isdigit():

            choice = int(product_choice)

          #输入数字在商品编码范围之内

            if choice>=0 and choice <len(goods):

        #输入正确的商品编码后,去判断工资是否足够买这个商品,

        #余额足够就把所选的商品添加到购物车cart 列表中,并从余额中扣除相应的价格,打印“商品已添加到购物车”和所剩余额信息。

              if salary_input >= goods[choice]['price']

                cart.append[goods[choice]]

                print('商品: %s 已被添加到购物车' % (goods[choice]['name']))

                salary_input -= goods[choice]['price']

                print('现在的余额是:'salary_input)

                #余额不足

                else:

                  print("余额不足!")

            else:

              print('商品不存在!')

          #用户输入的是字母'q'

          elif product_choice == 'q'

            exit_flag = True

            if len(cart) > 0

              print(--------您已购买的商品清单--------)

              for index,i enumerate(cart)

                print('%s  %s  price:s%' % (index,i['name'],i["price"]))

                print('您的余额还剩:',salary_input)  #打印余额信息

            #用户名、密码错误,‘打印用户名密码错误’

      else:

        print(“用户名密码错误,请重新输入:”)

             

        

      

  • 相关阅读:
    C# 操作ACCESS数据库
    装饰模式(Decorator Pattern)
    桥接模式(Bridge Pattern)
    单件模式(Singleton Pattern)
    横竖不能重复的9个数,,,,,
    C#操作Access数据库的例子
    组合模式(Composite Pattern)
    建造者模式(Builder Pattern)
    工厂方法模式(Factory Method)
    外观模式(Façade Pattern)
  • 原文地址:https://www.cnblogs.com/anzhangjun/p/8329168.html
Copyright © 2011-2022 走看看