广告:欢迎大家到 学习 Python~
很喜欢 Python “薪”时代 这个词~
所以我们要拥抱 “人工智能”~拥抱 “Python~”前提:下载 ,如果是 Mac 电脑会自带 Python。
Hello World!
Mac 电脑打开终端输入:
cd desktoptouch hello.pyvim hello.py使用 'i' 输入print('Hello World')输入 :wq 退出python3 hello.py
然后我们会在终端看到:Hello World!
恭喜你,这就是使用 Python 写的第一行代码!用户登录
当我们完成 Hello World 之后,会发现这太简单了,那么我们肯定要继续学习,例如:语法、数据类型、字符编码、循环、函数等等。。
下面先看一下用户登录程序需求:基础需求:
让用户输入用户名密码认证成功后显示欢迎信息输错三次后退出程序升级需求:
可以支持多个用户登录 (提示,通过列表存多个账户信息)用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)分析:
1.既然是登录,肯定分登录成功和登录失败,即“判断”,所以我想到了 if else;2.输错3次后退出,可以考虑 for 循环;3.账户信息的列表或者文件中肯定有很多用户信息,所以要遍历出来分别和用户输入的 username 对比,还有锁定账户名单中的信息也要遍历出来对比,这里少不了使用 for 循环;4.锁定的用户存到文件里,需要读取文件,文件写入等;5.说到文件,我们还需要一个本地的文件 lock_userinfo.txt 来存储锁定用户信息;逻辑
输入用户名,检查是否被锁定?如果锁定,提示:已锁定如果未锁定,输入密码 读取用户信息文件,判断用户名是否存在? 如果不存在,提示:请注册 如果存在,判断密码是否正确? 如果正确,提示:success 如果不正确,提示:wrong 密码不正确的话继续输入密码,判断是否正确? 正确的话,提示:success 不正确的话,记录次数 当次数到3次时,提示用户:lock 并且把用户名存入 lock_userinfo.txt 文件
代码
# 输入用户名username = input('username: ')# 判断用户名是否被锁定lock_users = open('lock_userinfo.txt', 'r')for item in lock_users: lock_user = item.strip() if username == lock_user: print('You have been locked!') breaklock_users.close()# 如果没有被锁定if username != lock_user: password = input('password: ') with open('userinfo.txt') as users: for account in users: acc_user = account.strip().split(':')[0] acc_pwd = account.strip().split(':')[1] if username == acc_user: if password == acc_pwd: print('Welcome back,', username, '~') break else: print('Wrong password!') for i in range(0, 2): i = i + 1 password = input('password: ') if password == acc_pwd: print('Welcome back,', username, '~') break else: print('Wrong password!') if i == 2: print('Sorry, you do not have a chance!') lock_write = open('lock_userinfo.txt', 'a+') lock_write.write('\n') lock_write.write(username) lock_write.close() if username != acc_user: print('Plase sign up!')print('------ end ------')
文件目录
根目录下有3个文件:login.py => python 代码userinfo.txt => 存放用户信息lock_userinfo.txt => 存放锁定的用户信息userinfo.txt
admin:123Bob:123Helen:123
lock_userinfo.txt
Bob
最后送上一句话:纸上得来终觉浅,绝知此事要躬行~