python程序整理(2)
阿新 • • 發佈:2018-11-10
工作 lex 整理 port 數據 col 不成功 div info
# 寫一個函數完成三次登陸功能: # 用戶的用戶名密碼從一個文件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()
python程序整理(2)