自动化测试(二)如何用python写一个用户登陆功能
需求信息:
写一个判断登录的程序:
输入: username
password
最大错误次数是3次,输入3次都没有登录成功,提示错误次数达到上限
需要判断输入是否为空,什么也不输入,输入一个空格、n个空格都算空
登录成功,提示欢迎xxx,今天的日期是 xxx
可以用多个用户登录,选做(多个用户登录,每个用户的密码也不一样)
知识点:
1.循环方法while和for的结合使用;2.import使用time函数;3.字典的初步使用;4.break和continue的简单用法;
实现思路:
1.构建一个放置用户信息的字典(键值对储存用户的账号和密码)
zhangmi={"wangdapang":"123456","wangerpang":"1234567","wangxiaopang":"7654321"}
2.使用for循环依次取出字典的数据
for key,value in zhangmi.items():#items()遍历字典内容
3.使用input语句接收输入的需要判断的用户名和密码
shuru_user = input("请输入用户名:")
shuru_pwd = input("请输入密码:")
4.对输入的值和从字典遍历出来的数据进行比较
if shuru_user==key or shuru_pwd==value:
aaaa+=1#计数器
break#结束循环
elif shuru_pwd!=value or shuru_user!=key:
continue#用来跳出当次循环
5.外层循环控制校验和循环校验次数
while cccc<=3:
count += 1#校验次数的计数器
if count>3:
print("超过3次,你没有机会了!")
break
elif aaaa>=1:
print("欢迎" + key + "来到绿洲!现在时间"+sj)#sj是取用当前时间的变量
break
6.判断输入的值是否为空值
if shuru_user=="" or shuru_pwd=="":
print("账号或密码输入为空!")
continue
7.引入时间戳更改输出格式
import time,datetime
sj=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) 完成 完整代码:(比较笨的思路)
import time,datetime
sj=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
zhangmi={"wangdapang":"123456","wangerpang":"1234567","wangxiaopang":"7654321"}
count=0
cccc=0
aaaa=0
while cccc<=3:
count += 1
if count>3:
print("超过3次,你没有机会了!")
break
elif aaaa>=1:
print("欢迎" + key + "来到绿洲!现在时间"+sj)
break
shuru_user = input("请输入用户名:")
shuru_pwd = input("请输入密码:")
if shuru_user=="" or shuru_pwd=="":
print("账号或密码输入为空!")
continue
for key,value in zhangmi.items():
# if shuru_user==key:
# print("duiduidui")
if shuru_user==key or shuru_pwd==value:
aaaa+=1
break
elif shuru_pwd!=value or shuru_user!=key:
continue
自动化测试(二)如何用python写一个用户登陆功能的更多相关文章
- 用java写一个用户登陆界面
一.课堂测试源代码及其结果截图 用java的swing写一个用户登录界面,采用网格布局.源代码如下: /** * */package LiuLijia; import java.awt.CardLay ...
- 自动化测试(三)如何用python写一个函数,这个函数的功能是,传入一个数字,产生N条邮箱,产生的邮箱不能重复。
写一个函数,这个函数的功能是,传入一个数字,产生N条邮箱,产生的邮箱不能重复.邮箱前面的长度是6-12之间,产生的邮箱必须包含大写字母.小写字母.数字和特殊字符 和上一期一样 代码中间有段比较混沌 有 ...
- 如何用 Python 写一个简易的抽奖程序
不知道有多少人是被这个头图骗进来的:) 事情的起因是这样的,上周有同学问小编,看着小编的示例代码敲代码,感觉自己也会写了,如果不看的话,七七八八可能也写的出来,但是一旦自己独立写一段程序,感觉到无从下 ...
- 如何用Python写一个计算器软件 附带效果图
该计算器使用Python tkinter模块开发 效果如下图 import tkinter #导入tkinter模块 root = tkinter.Tk() root.minsize(280,500 ...
- 如何用Python写一个贪吃蛇AI
前言 这两天在网上看到一张让人涨姿势的图片,图片中展示的是贪吃蛇游戏, 估计大部分人都玩过.但如果仅仅是贪吃蛇游戏,那么它就没有什么让人涨姿势的地方了. 问题的关键在于,图片中的贪吃蛇真的很贪吃XD, ...
- 如何用Python写一个每分每时每天的定时程序
1.计算生日是星期几 当你女朋友要过生日了,你肯定要定找家饭店订个餐庆祝一下,餐馆工作日会空一些,周末位置不好定,要是能知道她的生日是星期几就好了,下面这个程序就能搞定~~ 比如girl friend ...
- 【Python】如何基于Python写一个TCP反向连接后门
首发安全客 如何基于Python写一个TCP反向连接后门 https://www.anquanke.com/post/id/92401 0x0 介绍 在Linux系统做未授权测试,我们须准备一个安全的 ...
- 用Python写一个简单的Web框架
一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI( ...
- [py]python写一个通讯录step by step V3.0
python写一个通讯录step by step V3.0 参考: http://blog.51cto.com/lovelace/1631831 更新功能: 数据库进行数据存入和读取操作 字典配合函数 ...
随机推荐
- FYI-django数据库操作-外键
我先定义两个模型,一个是作者,一个是作者出版的书籍,算是一对多的类型. class Person(models.Model); name = models.CharField('作者姓名', ma ...
- POJ-2352 && hdu-1541 Stars---树状数组的运用
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1541 题目大意 : 在坐标上有n个星星,如果某个星星坐标为(x, y), 它的左下位置为:(x0,y ...
- jade简介
模板引擎:将动静部分糅合的一种实现机制或者技术 var items = [ {title:'..',photo:'http://',id:1,desc:'a'}, {title:'..',photo: ...
- Java继承和访问修饰符
继承 概念:为了提取两个类中公共代码,可以使用继承抽取重复性的代码到一个公共类中,这个公共的类称为父类(super class).继承于父类的类称为子类(sub class). 关键字 ext ...
- node.js 练习2 (调用函数)
1. 调用本地 函数 (1) 创建 n2-1.js ,并输入代码 (2) 运行localhhost:8000 (3)在浏览器中 查看 (4)在cmd中查看 2.调用外部 函数 (1) 创建n2-2. ...
- echarts学习笔记(部分angular及ant-design)
1.在项目中修改ng-zorro组件默认样式的一些方法: 类名等 前加::ng-deep: 类名等 前加:root: 类名等 前加:host /deep/: 2.echarts横轴自定义时间粒度 两种 ...
- matlab linux下无界面运行
今日做吸引域的仿真,由于需要遍历100*100*100的空间,需要的时间比较长,发现程序没运行一段时间,就会出现Out of memory的错误,而且出错的部分在于截取figure内部图片的部分. 开 ...
- this以及执行上下文概念的重新认识
在理解this的绑定过程之前,必须要先明白调用位置,调用位置指的是函数在代码中被调用的位置,而不是声明所在的位置. (ES6的箭头函数不在该范围内,它的this在声明时已经绑定了,而不是取决于调用时. ...
- vue2.0之监听属性的使用心得及搭配计算属性的使用
我们在工作中常常需要监听某一个属性值的变化,这个时候我们就需要用到了监听属性watch,在这里我总结watch属性的三种场景使用希望对你有所帮助: 1.基础版监听: 场景如下:输入框输入你的年龄,如果 ...
- C语言结构体指针成员强制类型转换
#include <stdio.h> #include <stdlib.h> typedef struct ListElmt_ { void *data; struct Lis ...