Python 多账号登入案例

前面我们将多账号放进了use.txt文件里面。

这章讲怎么讲多账号正常登入。

接着上章的代码。

with open(r'G:\PythonProject\学习\学习文件\date\user.txt', mode='rt', encoding='utf-8') as f:
    for line in f:
        l = line.strip().split('----')

接下去我还是用接发复制来拿到username和password。

with open(r'G:\PythonProject\学习\学习文件\date\user.txt', mode='rt', encoding='utf-8') as f:
    for line in f:
        username, password = line.strip().split('----')

然后我们再和前面的单个账号密码验证来结合一下。

接受用户的账号密码坑定还是要的。

input_username = input('请输入你的账号>>>').strip()
input_password = input('请输入你的密码>>>').strip()
with open(r'G:\PythonProject\学习\学习文件\date\user.txt', mode='rt', encoding='utf-8') as f:
    for line in f:
        username, password = line.strip().split('----')

然后这个for循环里面,每循环一次是不是就拿到了一个用户的账号密码,所以每循环一次拿到一个账号密码之后,我们就要验证一次。

if input_username == username and input_password == password:
    print('登入成功')

如果验证成功后,我们还要做一步操作,就是break。不然的话假设循环到第二行的账号密码的时候,就验证通过了,然后这个for循环还在继续往后判断。

if input_username == username and input_password == password:
    print('登入成功')
    break

然后什么时候告诉用户账号密码输入错了呢?肯定不是接着这个if写else了。是等这个for循环结束之后仍然没有匹配上账号密码,就告诉用户账号密码错误了。

我们在for循环外面用else来写。

这样else子代码块会在for循环正常结束的时候执行,如果for循环中途被break打断,就不会执行else下面的子代码块。

放到这段代码上看,意思就是如果一次都没有遇到break,就说明用户输入的账号密码一次都没有匹配上。

这样代码就正常结束,执行外层的else子代码块。

input_username = input('请输入你的账号>>>').strip('\n')
input_password = input('请输入你的密码>>>').strip('\n')
with open(r'G:\PythonProject\学习\学习文件\date\user.txt', mode='rt', encoding='utf-8') as f:
    for line in f:
        username, password = line.strip().split('----')
        if input_username == username and input_password == password:
            print('登入成功')
            break
    else:
        print('账号或密码错误')

注意,这里的else是和for循环连用的,不要写在if判断的那层级去了。写在if判断同一层,那整个逻辑意思就不一样了。

你讲else写在if同级当你判断第一行账号密码匹配不上,就直接打印‘账号或密码错误’,不会匹配剩下的账号密码。

现在是我们自己写程序来操作文件的,很多同学应该都听说过数据库,其实数据库就是对文件进行增删改查的一个软件,,通过数据库来存取数据效率会更高。

等学完数据库之后,我们就不会自己来写程序操作文件存取数据了。

而是在我们写的程序和文件中间,加一个数据库管理软件,我们通过给数据库管理软件发指令,这个软件就会帮我们去操作文件。

现在我们没学数据库,只能自己动手写程序造作文件了。

接着上面的代码打印看看,分别输入正确与错误的账号密码。

未经允许不得转载:445IT之家 » Python 多账号登入案例

赞 (0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏