第二天作业:购物车

#输入用户名和密码
use = input("请输入用户名:")
name = input("请输入密码:")

#打开错误用户名文件读取,错误次数
f_name = open("name_time.txt","r+")
num = f_name.read().count(use)

#输入的用户名与锁定文件内容对比
f_erorr = open("erorr_name.txt","r+")
if use in f_erorr.readlines():
    num = 3

#取数据文件中的用户名和密码
f_user = open("user_name.txt","r")
for i in f_user.readlines():
    use_name, use_password = i.split()
f_user.close()

#商城购物函数
def buy(use):
    shop = {}
    num = 0
    print("%s,你的账户余额为100000元!" %use)  #账户余额是否要保存在文件中?
    print("商品名称 单价")
    goods = {"MacPro":12000, "MacAir":6000, "iphone7":6280, "iphone6s":5280}
    for key,value in goods.items():
        print("%s: %s元" %(key,value))

    flag = True
    while flag:
       s = input ("请选择要购买的商品:")  #输入需要验证商品是否存在?
       if s == "#":
           flag = False
           break
       c = input ("请输入要购买商品的数量:") #输入的是否是数字?
       shop[s] = c #购物清单是否要保存在文件中?

    for k,v in shop.items():
        num += int(shop[k]) * dic[k]  #购买商品超过余额了怎么办?
    print("你总共花费:%s,余为:%s" %(num,100000-num))

#循环判断
while num < 3:
    if use.strip() == use_name and name.strip() == use_password: #用户名与密码正确
        print("欢迎登录本商城购物!")
        buy(use)
        break
    else: #用户名与密码错误
        f_name.write(use)
        f_name.seek(0)  #返回文件句柄开头
        num = f_name.read().count(use) #读取错误次数
        if num >= 3: #错误次数达到3写入锁定文件
            f_erorr.write("
"+use)
        else:
            # 错误次数小于3,再次输入用户名和密码
            use = input("请输入用户名:")
            name = input("请输入密码:")

else: #wilie循环正常退出运行
    print("你的用户名和密码错误次数太多已被锁定!")

f_name.close()
f_erorr.close()
原文地址:https://www.cnblogs.com/jp-mao/p/6284469.html