python练习案例06之简化版注册登录功能

280 阅读3分钟

这是我参与8月更文挑战的第6天,活动详情查看:8月更文挑战

编写注册程序,账号密码来存入文件

 # 获取用户输入的用户名和密码
 in_user = input('请输入用户名:').strip()
 in_pwd = input('请输入密码:').strip()
 ​
 # 将输入的用户名和密码用“:”分割成字符串
 line = in_user + ':' + in_pwd + '\n'
 ​
 with open('./db_user.txt',mode='at+',encoding='utf-8') as f:
     f.write(line)
     print('恭喜您{},注册成功'.format(in_user))

思路:

1.还是先获取用户输入的用户名和密码,并去掉空白符

 # 获取用户输入的用户名和密码
 in_user = input('请输入用户名:').strip()
 in_pwd = input('请输入密码:').strip()

2.将用户名和密码用“:”拼接成字符串再换行

 # 将输入的用户名和密码用“:”分割成字符串
 line = in_user + ':' + in_pwd + '\n'

3.然后对文件进行追加写操作,注册一个在文件末尾写一行

 with open('./db_user.txt',mode='at+',encoding='utf-8') as f:
     f.write(line)
     print('恭喜您{},注册成功'.format(in_user))

4.最终完整的代码就好了

 # 获取用户输入的用户名和密码
 in_user = input('请输入用户名:').strip()
 in_pwd = input('请输入密码:').strip()
 ​
 # 将输入的用户名和密码用“:”分割成字符串
 line = in_user + ':' + in_pwd + '\n'
 ​
 with open('./db_user.txt',mode='at+',encoding='utf-8') as f:
     f.write(line)
     print('恭喜您{},注册成功'.format(in_user))

编写登录程序,账号密码来自于文件

文件 users.txt

 r0ya1:r0ya1
 root:root
 admin:admin888
 abc:123

完整代码:

 # 获取用户输入的用户名和密码
 in_user = input('请输入用户名:').strip()
 in_pwd = input('请输入密码:').strip()
 ​
 # 读文件内容
 with open('./users.txt',mode='rt+',encoding='utf-8') as f:
     for line in f:
         # 将读出的内容去掉空白符,然后用:切分成列表,再把元素赋值给变量
         username,password = line.strip().split(':')
         # 判断用户名、密码是否正确
         if username == in_user and password == in_pwd:
             print('登陆成功')
             break
     # 若循环完毕还没有对应的用户名密码,则用户名密码错误
     else:
         print('用户名或密码错误,登陆失败!!!')

思路:

1.先获取用户输入的用户名、密码,并去掉空白符

 # 获取用户输入的用户名和密码
 in_user = input('请输入用户名:').strip()
 in_pwd = input('请输入密码:').strip()

2.接着读取文件内容,把读的每一行内容进行处理

 # 读文件内容
 with open('./users.txt',mode='rt+',encoding='utf-8') as f:
     for line in f:
         # 将读出的内容去掉空白符,然后用:切分成列表,再把元素赋值给变量
         username,password = line.strip().split(':')

3.接着判断用户名、密码

  # 判断用户名、密码是否正确
         if username == in_user and password == in_pwd:
             print('登陆成功')
             break

4.若循环内容结束还是没有对应的用户名及密码,则判定此用户名密码不在文件之中,认定为无效的用户名和密码

  else:
         print('用户名或密码错误,登陆失败!!!')

5.最终代码:

 # 获取用户输入的用户名和密码
 in_user = input('请输入用户名:').strip()
 in_pwd = input('请输入密码:').strip()
 ​
 # 读文件内容
 with open('./users.txt',mode='rt+',encoding='utf-8') as f:
     for line in f:
         # 将读出的内容去掉空白符,然后用:切分成列表,再把元素赋值给变量
         username,password = line.strip().split(':')
         # 判断用户名、密码是否正确
         if username == in_user and password == in_pwd:
             print('登陆成功')
             break
     # 若循环完毕还没有对应的用户名密码,则用户名密码错误
     else:
         
         print('用户名或密码错误,登陆失败!!!')

\