python用户登录模块(不使用函数等方法)

*  用户登录模块

给定用户信息表,需要满足条件如下:

1. 输入用户名密码判断

2. 输入错误次数3次时,询问用户是否需要继续尝试,Y继续,N结束

3. 可支持多用户登录

 1 # 方案一:输入用户名后立即判断一次,共三次
 2 li = [{‘username‘: ‘qqq‘, ‘password‘: ‘www‘},
 3       {‘username‘: ‘aaa‘, ‘password‘: ‘sss‘},
 4       {‘username‘: ‘zzz‘, ‘password‘: ‘xxx‘}]
 5
 6 # 将原列表转换为方便比较的新字典
 7 new_users_info = {}
 8 for i in li:
 9     new_users_info[i[‘username‘]] = i[‘password‘]
10
11 count_try_username, count_try_password = 0, 0  # 用户名尝试次数,密码尝试次数
12 flag_username, flag_password, flag_selection = 1, 1, 1  # 循环到用户名输入,循环到密码输入,循环到是否继续
13 while flag_username:
14     count_try_username += 1
15     username_input = input(‘请输入用户名:‘)
16     if username_input in new_users_info.keys():  # 判断用户名是否存在
17         count_try_password = 0  # 用户名尝试次数归零/或归1
18         flag_password, flag_selection = 1, 1  # 所有循环重新开始
19         while flag_password:
20             password_input = input(‘请输入密码:‘)
21             if password_input == new_users_info[username_input]:  # 判断密码是否与用户名匹配
22                 print(‘登录成功!跳转到APP使用页面‘)
23                 flag_username = 0
24                 break
25             else:
26                 count_try_password += 1
27                 print(‘密码输入错误...%s次‘ % count_try_password)
28                 if count_try_password == 3:
29                     while flag_selection:
30                         user_selection = input(‘是否继续?Y/N‘)
31                         user_selection = user_selection.lower()
32                         if user_selection == ‘y‘:
33                             count_try_username, count_try_password = 0, 0
34                             flag_password = 0
35                             flag_selection = 0
36                         elif user_selection == ‘n‘:
37                             flag_username = 0
38                             flag_password, flag_selection = 0, 0
39                             print(‘ByeBye...‘)
40                         else:
41                             print(‘错误选择‘)
42     else:
43         print(‘用户名输入错误...%s次‘ % count_try_username)
44         if count_try_username == 3:
45             flag_password, flag_selection = 1, 1  # 所有循环重新开始
46             while flag_selection:
47                 user_selection = input(‘是否继续?Y/N‘)
48                 user_selection = user_selection.lower()
49                 if user_selection == ‘y‘:
50                     count_try_username = 0
51                     flag_password = 0
52                     flag_selection = 0
53                 elif user_selection == ‘n‘:
54                     flag_username = 0
55                     flag_password, flag_selection = 0, 0
56                     print(‘ByeBye...‘)
57                 else:
58                     print(‘错误选择‘)

判断用户名是否正确

以上代码会判断用户名错误三次的情况.

以下代码不判断用户名错误,只判断匹配.

 1 # 用户登录(三次机会重试),可以支持多用户登录,三次后可选择Y/N决定是否继续尝试
 2 # 方案二:不判断用户名错误次数,只判断密码是否错误
 3 li = [{‘username‘: ‘li_alex‘, ‘password‘: ‘SB‘},
 4       {‘username‘: ‘wu_sir‘, ‘password‘: ‘sb‘},
 5       {‘username‘: ‘xu_jin‘, ‘password‘: ‘student‘}]
 6
 7 new_user_info = {}
 8 for user_info in li:
 9     new_user_info[user_info[‘username‘]] = user_info[‘password‘]
10 print(new_user_info)
11
12 while 1:
13     count = 0
14     username_entry = input(‘Please Input an Username: ‘)
15     if username_entry in new_user_info.keys():
16         password_entry = input(‘Please Input the Password: ‘)
17         while count < 2 and password_entry != new_user_info[username_entry]:
18             count += 1
19             print(‘Wrong Password Input, %d time(s) left...‘ % (3 - count))
20             password_entry = input(‘Please Input the Password: ‘)
21         else:
22             if password_entry == new_user_info[username_entry]:
23                 print(‘Congratulations! Login Succeed!‘)
24                 break
25             elif count > 1:
26                 user_selection = input(‘Invalid time Exceeds Limited, Do You Wanna Try Again? Y/N ‘)
27                 lower_entry = user_selection.lower()
28                 if lower_entry == ‘y‘:
29                     continue
30                 elif lower_entry == ‘n‘:
31                     print(‘You Give up Login attempt. Good luck...(手动微笑)‘)
32                     break
33                 else:
34                     print(‘Wrong Selection...Please Try Again...‘)
35                     continue
36             else:
37                 print("error")

判断用户名和密码匹配

均不使用函数等方法,只用while/for/if-else循环

原文地址:https://www.cnblogs.com/aliter/p/8821354.html

时间: 2024-10-23 17:03:04

python用户登录模块(不使用函数等方法)的相关文章

Window上python开发--4.Django的用户登录模块User

在搭建网站和web的应用程序时,用户的登录和管理是几乎是每个网站都必备的.今天主要从一个实例了解以下django本身自带的user模块.本文并不对user进行扩展. 主要使用原生的模块. 1.User模块基础: 在使用user 之前先import到自己的iew中.相当与我们自己写好的models.只不过这个是系统提供的models. from django.contrib.auth.models import User # 导入user模块 1.1User对象属性 User 对象属性:usern

Java SSH框架系列:用户登录模块的设计与实现思路

时间 2014-01-19 16:14:54  CSDN博客原文  http://blog.csdn.net/nupt123456789/article/details/18504615 1.简介 用户登录模块,指的是根据用户输入的用户名和密码,对用户的身份进行验证等.如果用户没有登录,用户就无法访问其他的一些jsp页面,甚至是action都不能访问. 二.简单设计及实现 本程序是基于Java的SSH框架进行的. 1.数据库设计 我们应该设计一个用户表,其Userinfo表,对应的SQL语句为(

三、Asp.Net MVC4.0开发CMS系统案例之用户登录模块开发

本次开发是将三层架构与MVC结合一起来,我们看下面一个系统结构: View ->Contraller->Model->BLL->DAL->SQLSERVER |        |        | ----------->Extensions----->FrameWork | __>Common Extensions包括扩展类功能,例如控件的再重新,权限的重新验证等.Common是一些公共性功能. 第一步:创建用户登录模型,可以与注册模型类(SysComUe

Struts2(二.用户登录模块)

1.编写Javabean /src/myuser/User.java 在strut1中,Javabean需要继承于struts1 api中的ActionForm类.struts2没有此要求 struts2 也没有formbean,通常使用Domain Model的方式向action注入数据 1 package myuser; 2 3 public class User { 4 private int id; 5 private String userName; 6 private String

#知识总结练习-用户登录模块

我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言:此随笔主要是Java基础中的基础,相信大家对这方面肯定有着自己的理解和认识,具体详解可以参照万能的baidu,有的我就一笔带过,希望在我的学习之路上能够有大牛进行指导,也有更多的小伙伴共勉. 用户登录案例要求: 1.编写login.html页面有username和password两个输入框 2.使用

python中csv模块和join函数的使用

在看项目的时候恰好又碰到了这两个功能,然后稍微记录一下,关于join函数,是一个经常使用的联合函数,作用就是用自己规定的字符去串联字符串和列表之类的,对于字符串来说,join函数针对的是字符串中的每一个字符元素,但是对于列表来说就是针对列表中的每一个元素,不过在字典中join只会直接串联key而不是value,所以如果要value的话要自己指定一下. #!/usr/bin/env python # -*- coding:utf-8 -*- 'sep'.join(sep) #第一个sep是自己想要

用户登录模块测试点

一.数据输入? (把账号和密码分类,有效的和无效的) 1.有效的:长度在XX之间的.类型为XX的? 2.无效的:?长度大于规定的.长度小于规定的.为负数.小数.英文字母.?字符.特殊字符?.中文.??转义字符?.空(包括:空的用户名和空的密码:正确的用户名和空的密码:?空的用户名和正确的密码:用户名的前/中/后含有空格:密码的前/中/后含有空格) 3.正确的帐号和正确的密码中,有字母的,换成其大写/小写字母. 4.输入错误的用户名或者密码时:正确的用户名与错误的密码:?错误的用户名与正确的密码:

第三篇python用户登录程序实现

需求: 1.通过注册输入用户名和密码 2.能够验证用户名和密码是否正确 3.限制输入一定错误次数后退出程序 4.利用格式化输出方式输出信息 分析: 使用username=input()和password=input()输入用户信息,利用while语句分别实现注册.登录.循环次数功能, 嵌套if语句进行条件判别,输出用户信息. 实现: 1 #登录 2 print(''' 3 说明: 4 ‘1’开始登录 5 ‘2’注册! 6 ‘0’退出 7 登录用户名输入q,可终止程序 8 默认用户名:admin

用户登录模块的实现

页面验证部分: 1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd