day15-文件操作之登录注册系统

文件操作之登录注册系统

一、原理

三个提示登录、注册和退出,用户根据提示信息选择需要的功能:

1.选择登录:用户名和密码必须在information.txt里保存过,成功会提示登录成功!否则提示用户名或密码错误

2.选择注册:
用户名不能和已经存在的用户名重复,否则会提示用户名已存在;

用户名不存在会将输入的用户名和密码写入information.txt,下次登录就可以不用注册。

3.选择退出:‘输出退出操作!’

二、步骤

1.首先,打印提示登录、注册、退出的界面 - 从login文件中读出这些信息。

​ login.txt

=====================
        ♣1.登录
        ♣2.注册
        ♣3.退出
=====================
f = open('./files/login.txt', 'r', encoding='utf-8')
result = f.read()
print(result)
f.close()

2.登录注册操作前先读取用户信息并且对信息处理为单独的用户列表和密码列表。

已经存在的用户信息(information.txt)

username,password
小明,123456
小花,111111
# 2.登录注册前读取用户信息
f = open('./files/information.txt', 'r', encoding='utf-8')
result = f.readlines()    # 以列表形式读
f.close()

# 读取之后处理信息
# 去掉空格去掉逗号,从列表的第一行之后开始处理
user_list = [i.replace('\n', '').split(',')[0] for i in result[1:]]
password_list = [i.replace('\n', '').split(',')[1] for i in result[1:]]

3.选择操作

choice = input('请输入你的选择:')
  • 登录操作
if choice == '1':
	username = input('请输入用户名:')
	password = input('请输入密码:')
	if username in user_list:
		index1 = user_list.index(username)   # 用户下标
      	# 对应下标的密码
      	if password == password_list[index1]:
          	print('登陆成功!')
          	break
      	else:
          	print('用户名或密码错误!')
	else:
    	print('用户名或密码错误!')
  • 注册操作
elif choice == '2':
	# 使用追加写a
	f = open('./files/information.txt', 'a', encoding='utf-8')
	username = input('请输入用户名:')

	# 判断用户名是否存在-不能重复
    if username in user_list:
    	print('用户名已存在!')
    else:
        password = input('请输入密码:')
        
        # 用逗号将username和password拼接起来。
        f.write('\n' + ','.join([username, password]))
        f.close()
        print('注册成功!')
  • 退出操作
elif choice == '3':
	print('退出系统')
	break

三、完整代码

# 1.读取登录界面文件
f = open('./files/login.txt', 'r', encoding='utf-8')
result = f.read()
print(result)
f.close()

while True:
    # 2.登录注册前读取用户信息
    f = open('./files/information.txt', 'r', encoding='utf-8')
    result = f.readlines()    # 以列表形式读
    # print(result)
    f.close()

    # 3.读取之后处理信息
    # 去掉空格去掉逗号,从列表的第一行之后开始处理
    user_list = [i.replace('\n', '').split(',')[0] for i in result[1:]]
    password_list = [i.replace('\n', '').split(',')[1] for i in result[1:]]
    # print(user_list, password_list)

    # 4.选择
    choice = input('请输入你的选择:')

    # 登录
    if choice == '1':
        username = input('请输入用户名:')
        password = input('请输入密码:')
        if username in user_list:
            index1 = user_list.index(username)   # 用户下标
            # 对应下标的密码
            if password == password_list[index1]:
                print('登陆成功!')
                break
            else:
                print('用户名或密码错误!')
        else:
            print('用户名或密码错误!')

    # 注册
    elif choice == '2':
        # 使用追加写a
        f = open('./files/information.txt', 'a', encoding='utf-8')
        username = input('请输入用户名:')

        # 判断用户名是否存在-不能重复
        if username in user_list:
            print('用户名已存在!')
        else:
            password = input('请输入密码:')
            # 用逗号将username和password拼接起来。
            f.write('\n' + ','.join([username, password]))
            f.close()
            print('注册成功!')

    # 退出系统
    elif choice == '3':
        print('退出系统')
        break
    else:
        print('输入错误,请重新输入!')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值