• 购物车0612版登陆与购物功能


    # 用户名和密码存放于文件中,格式为:egon|egon123
    # 启动程序后,先登录,登录成功则让用户输入工资,然后打印商品列表,失败则重新登录,超过三次则退出程序
    # 允许用户根据商品编号购买商品
    # 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
    # 可随时退出,退出时,打印已购买商品和余额


    # db = 'b.txt'
    goods=[['Ipone7',5800],
    ['apple',20],
    ['tesla',1000000],
    ]
    shopping_cart=[]
    def register(db):
    '''
    用户登陆功能与打印商品列表
    :param db: 文件的名称或者绝对路径
    :return: None
    '''
    tag =True
    count =0
    while tag:
    if count == 3: break
    name = input('用户名:')
    pwd = input('密码:')
    with open(db,encoding='utf-8')as f:
    for line in f:
    list = line.strip().split('|')
    if name == list[0] and list[1]==pwd:
    print('登陆成功!')
    tag = False
    break
    else:
    print('登陆失败,你还有%s次机会'%(2-count))
    count+=1

    def balance():
    '''
    购物功能
    :return:None
    '''
    tag = True
    while tag:
    salary = input('请输入工资:').strip()
    if not salary.isdigit():
    print('不是正整数!')
    continue
    salary = int(salary)
    while tag:
    # 每次选择购买都打印所有的商品信息:
    print('''
    0 ['Ipone7':5800],
    1 ['apple':20],
    2 ['tesla':100000],
    ''')

    choice = input('请选择购买商品的编号:(或者q退出)').strip()
    if choice == 'q':
    print('欢迎下次光临')
    if shopping_cart:
    print('您的商品是:',shopping_cart)
    else:
    print("你的购物车为空")
    print('你的余额是:%s' % salary)
    tag = False
    break
    elif not choice.isdigit():
    print('不是正整数!')
    continue
    else:
    choice = int(choice)
    if choice < 0 or choice > 2: # 不在0-2之内的数字
    print('没有这个编号')
    continue

    count =input('购买个数(正整数):').strip()
    if not count.isdigit():
    print('不是正整数')
    continue
    count = int(count) # 已经包含0(个数)了!
    if salary < goods[choice][1]*count:
    print('你的余额不足,请重新购买')
    continue
    # 编码合法,余额足够:
    for item in shopping_cart:
    if goods[choice][0] ==item['name']:
    item['count'] += count
    break
    else:
    #自己拟造了一个字典形式的商品信息,并放入购物车
    info = {'name':goods[choice][0],'count':count,'price':goods[choice][1]}
    shopping_cart.append(info)
    print('恭喜你购买了%s,个数为%s,总价为%s' %(goods[choice][0],count,goods[choice][1]*count))
    salary -= goods[choice][1]*count
    print('你所剩的余额还有%s' % salary)


    register('b.txt')
    balance()

  • 相关阅读:
    触发器和存储过程
    转 “automation服务器不能创建对象”的问题的解决方案总结大全
    纯JS幻动片
    SQLServer2000、2005/2008 生成数据字典SQL语句
    根据DEMO做的第一个WCF出现的问题
    让文本框显示行号,兼容ie、火狐
    水晶报表截取指定字符串长度
    20100831 只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态
    分页控件
    附加数据库函数
  • 原文地址:https://www.cnblogs.com/wangcheng9418/p/9175074.html
Copyright © 2020-2023  润新知