Python练习(第一周): 编写登陆认证程序

基础需求:
让用户输入用户名密码
认证成功后显示欢迎信息
输错三次后退出程序

升级需求:
可以支持多个用户登录 (提示,通过列表存多个账户信息)
用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)

代码:

# 通过列表存储用户名,密码
logon_authentication = False
user_info = [[‘li‘, ‘123‘], [‘yong‘, ‘234‘], [‘liyong‘, ‘345‘]]
logon_num = 3
# 取锁定名单
lock_file = open(‘lock‘, ‘r‘, encoding=‘utf-8‘)
lock_list = lock_file.read()
lock_file.close()
# 首次输入用户密码
user_name = input(‘please input your name :‘)
user_pass = input(‘please input your password :‘)
# 循环判断用户密码
for user_item in user_info:
    if user_name == user_item[0]:
        # 判断是否在锁定名单
        if user_name in lock_list:
            print(‘该用户已被锁定!‘)
            break
        # 验证用户密码,重新输入密码须在限制次数内
        for i in range(logon_num - 1):
            if user_pass == user_item[1]:
                print(‘登陆成功‘)
                # 标志位验证登录结果及跳出多层循环
                logon_authentication = True
                break
            else:
                logon_num = logon_num - 1
                print(‘密码错误,您还有‘, logon_num, ‘次输入密码的机会‘)
                user_pass = input(‘please again input your password :‘)
        else:
            print(‘超过三次,用户已锁定!‘)
            lock_file = open(‘lock‘, ‘a‘, encoding=‘utf-8‘)
            lock_list = lock_file.write(user_name)
            lock_file.close()
            break
    # 判断跳出一级循环
    if logon_authentication:
        break
else:
    print(‘没有此用户‘)
# 登录成功,进入下一级页面
if logon_authentication:
    print(‘欢迎来到{user}的空间‘.format(user=user_name))

原文地址:https://www.cnblogs.com/yong2018/p/8283954.html

时间: 2024-10-02 10:01:59

Python练习(第一周): 编写登陆认证程序的相关文章

Python开发入门14天集训营·第1章Python基础语法-编写登陆认证程序

作业题目: 编写登陆认证程序 作业需求: 基础需求: 让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后退出程序 升级需求: 可以支持多个用户登录 (提示,通过列表存多个账户信息) 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里) 1 #!/usr/bin/env python 2 # -*- coding=utf-8 -*- 3 """ 4 @author:Wllen 5 @file:user_pass.py 6

Python学习第一周-账号登陆练习

2017年11月底开始python的学习.选择python 3.6. 账号登陆的粗糙实现. 1 import getpass 2 3 wall = True 4 usr = 'root' 5 paswd = 0000 6 block_list = open("test.txt", 'a') 7 print("Please sign in!") 8 9 for i in range(3, 0, -1): 10 print('{time} time(s) left'.f

Python学习之编写登陆认证程序

需求: 让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后退出程序 可以支持多个用户登录 (提示,通过列表存多个账户信息) 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里) 代码如下: 1 # -*- coding: utf-8 -*- 2 # __date__ = 3/12/2018 3 4 count = 0 5 users = {'chfang':'12345', 'alice':'abcde', 'admin':'admin'

第一章练习题登陆认证程序

基础需求: 让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后退出程序 升级需求: 可以支持多个用户登录 (提示,通过列表存多个账户信息) info = [["name1", "111"], ["name2", "222"], ["name3", "333"], ["name4", "444"]] count = 2 while count

python学习基础篇--编写登陆接口

#!/usr/bin/env python#_*_conding:utf-8_*_#-----------------------------------------------------#编写登陆接口,要求:#输入用户名密码#认证成功后显示欢迎信息#密码输错三次后锁定帐户#----------------------------------------------------- user='admin' # 定义登录帐号密码passwd='123' # 定义登录帐号密码count=0 #定义

Python 自动化 第一周

1.Python简介 1.1.Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. (龟叔:2005年加入谷歌至2012年,2013年加入Dropbox直到现在,依然掌握着Python发展的核心方向,被称为仁慈的独裁者). Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计

Python学习第一周总结(上)

Python基础知识总结 一.前期了解 1.1解释型语言和编译型语言 编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了. 解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢. C/C++ 等都是编译型语言,而Java,C#,Python等都是解释型语言. 1.2动态类型语言和静态类型语言 动态类型语言:指在运行期间才去做数据类型检查的语言.在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语

Python学习第一周

一.我的第一个程序 print("Hello word!") 所以说python是一款非常简洁的语言,不像c,c++等等写一个简单的小程序还要调用一堆库.另外,python 3的版本支持中文编写. 二.变量 的使用 Python是一种动态的,强类型语言 name="fromzore" print(name) 不用定义变量的类型,系统根据你输入的自动给变量定义 name="fromzore" age=input("age");

Python课程第一周 环境准备

环境准备,安装版本控制软件pyenv 1. 使用pyenv-installer安装pyenv curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash 2. 将环境变量添加到bash脚本中去 vim ~/.bash_profile export PATH="~/.pyenv/bin:$PATH" eval "(pyenv init -)&qu