zoukankan      html  css  js  c++  java
  • 购物车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()

  • 相关阅读:
    6.11 考试修改+总结
    6.10 考试修改+总结+颓废记
    我们都一样
    【HDU 5730】Shell Necklace
    【SPOJ 8093】Sevenk Love Oimaster
    【BZOJ 3238】【AHOI 2013】差异
    【UOJ #131】【NOI 2015】品酒大会
    【SPOJ 220】Relevant Phrases of Annihilation
    【POJ 3177】Redundant Paths
    【POJ 2186】Popular Cows
  • 原文地址:https://www.cnblogs.com/wangcheng9418/p/9175074.html
Copyright © 2011-2022 走看看