需求:
注冊
1、三個變量username、password、cpassword
2、注冊時輸入的賬號必須是沒有注冊過的
兩次密碼必須輸入一致
賬號、密碼的長度要在6-10之間,不允許輸入空格或換行符
賬號不區分大小寫
注冊完成之后,存到文件里面
思路:
1、驗證賬號是否重復注冊:把讀取到的文件內容轉為字典的形式,然后去判斷是否重復注冊,因為字典的k值是唯一存在的
1 fr = open('user') # 打開存賬號的文件 2 res = fr.read() # 讀取文件的所有內容 3 fr.close() # 關閉文件 4 user_list = res.split() # 默認以空格或者換行符分隔字符串,返回值為list 5 user_dic = {} # 定義一個空字典,存放所有賬號 6 for i in user_list: # 循環列表,取出列表里的每一個值,然后存到字典里 7 username = i.split(',')[0] 8 password = i.split(',')[1] 9 user_dic[username] = password 10 11 fw = open('user', 'a') 12 for i in range(3): 13 user = input('賬號:').strip().lower() # 去除空格或換行符,輸入的字母全部轉為小寫 14 pd = input('密碼:').strip() 15 cpd = input('確認密碼:').strip() 16 if len(user) not in range(6, 11) or len(pd) not in range(6, 11): 17 print('賬號/密碼長度必須在6-10之間') 18 elif pd != cpd: 19 print('兩次輸入的密碼不一致') 20 elif user in user_dic: 21 print('用戶名重復!') 22 else: # 賬號和密碼合格則寫入文件 23 fw.write('%s,%s\n' % (user, pd)) 24 print('注冊成功'.center(50, '*')) 25 break 26 else: 27 print('輸入錯誤次數過多')