python程序整理(2)
# 写一个函数完成三次登陆功能: # 用户的用户名密码从一个文件register中取出。 # register文件包含多个用户名,密码,用户名密码通过|隔开,每个人的用户名密码占用文件中一行。 # 完成三次验证,三次验证不成功则登录失败,登录失败返回False。 # 登陆成功返回True。
# def login(): # count = 0 # while count < 3: # usr = input('username : ') # pwd = input('password : ') # with open('register',encoding='utf-8') as f:#register存储用户信息 # for line in f: # line = line.strip() # 'alex|sb' # user,passwd = line.split('|') # ['alex','sb'] # if usr == user and pwd == passwd: # return True # 登陆成功 # count += 1 # print('登陆失败,请重新登陆') # return False # 登陆失败 # ret = login() # if ret: # print('登陆成功') # else: # print('三次登陆机会已用尽,登录失败')
# 写一个函数完成注册功能: # (1)用户输入用户名密码注册。 # (2)注册时要验证(文件regsiter中)用户名是否存在,如果存在则让其重新输入用户名,如果不存在,则注册成功。 # (3)注册成功后,将注册成功的用户名,密码写入regsiter文件,并以 | 隔开。 # (4)注册成功后,返回True,否则返回False。
# def register(): # while True: # username = input('请输入注册用户名("输入q退出") :').strip() # if username.upper() == 'Q': return False # with open('file/register',encoding='utf-8') as f: # for line in f: # user,_ = line.split('|') # 解包,不想要的变量就可以用_表示 # if username == user: # print('用户名已存在,请重新输入用户名') # break # else:break # pwd = input('请输入注册密 码 :') # with open('file/register','a') as f: # f.write('%s|%s\n'%(username,pwd)) # return True # # ret = register() # if ret == True: # print('注册成功') # else: # print('注册失败')
# 完成一个员工信息表的增删功能(升级题)。 # 文件存储格式如下: # id,name,age,phone,job # 1,Alex,22,13651054608,IT # 2,太白,23,13304320533,Teacher # 3,nezha,25,1333235322,IT # 现在要让你实现两个功能: # 第一个功能是实现给文件增加数据,用户通过输入姓名,年龄,电话,工作, # 给原文件增加数据(增加的数据默认追加到原数据最后一行的下一行),但id要实现自增(id自增有些难度,id是不需要用户输入的但是必须按照顺序增加)。 # 第二个功能是实现给原文件删除数据,用户只需输入id,则将原文件对应的这一条数据删除(删除后下面的id不变,比如此时你输入1,则将第一条数据删除, # 但是下面所有数据的id值不变及太白,nezha的 id不变)
# def add_info(): # ''' # 打开文件,把要添加的数据写进去,自增id # 在添加之前先获取到这个行的id # ''' # # 用户输入要写入文件的信息 # name = input('name :').strip() # age = input('age :').strip() # phone = input('phone :').strip() # job = input('job :').strip() # with open('file/userinfo',encoding='utf-8') as f: # for line in f: # id,*_ = line.split(',') # id = str(int(id)+1) # with open('file/userinfo',encoding='utf-8',mode = 'a') as f: # f.write(','.join([id,name,age,phone,job])) # f.write('\n')
# import os # def del_info(): # # 先读 再写 某一段内容写不写取决于删不删 # del_id = input('id : ').strip() # with open('file/userinfo',encoding='utf-8') as f1,\ # open('file/userinfo.new',mode='a',encoding='utf-8') as f2: # for line in f1: # id, *_ = line.split(',') # if id != del_id : # f2.write(line) # os.remove('file/userinfo') # os.rename('file/userinfo.new','file/userinfo') # # del_info()