需求信息:

写一个判断登录的程序:
输入: 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写一个用户登陆功能的更多相关文章

  1. 用java写一个用户登陆界面

    一.课堂测试源代码及其结果截图 用java的swing写一个用户登录界面,采用网格布局.源代码如下: /** * */package LiuLijia; import java.awt.CardLay ...

  2. 自动化测试(三)如何用python写一个函数,这个函数的功能是,传入一个数字,产生N条邮箱,产生的邮箱不能重复。

    写一个函数,这个函数的功能是,传入一个数字,产生N条邮箱,产生的邮箱不能重复.邮箱前面的长度是6-12之间,产生的邮箱必须包含大写字母.小写字母.数字和特殊字符 和上一期一样 代码中间有段比较混沌 有 ...

  3. 如何用 Python 写一个简易的抽奖程序

    不知道有多少人是被这个头图骗进来的:) 事情的起因是这样的,上周有同学问小编,看着小编的示例代码敲代码,感觉自己也会写了,如果不看的话,七七八八可能也写的出来,但是一旦自己独立写一段程序,感觉到无从下 ...

  4. 如何用Python写一个计算器软件 附带效果图

    该计算器使用Python  tkinter模块开发 效果如下图 import tkinter #导入tkinter模块 root = tkinter.Tk() root.minsize(280,500 ...

  5. 如何用Python写一个贪吃蛇AI

    前言 这两天在网上看到一张让人涨姿势的图片,图片中展示的是贪吃蛇游戏, 估计大部分人都玩过.但如果仅仅是贪吃蛇游戏,那么它就没有什么让人涨姿势的地方了. 问题的关键在于,图片中的贪吃蛇真的很贪吃XD, ...

  6. 如何用Python写一个每分每时每天的定时程序

    1.计算生日是星期几 当你女朋友要过生日了,你肯定要定找家饭店订个餐庆祝一下,餐馆工作日会空一些,周末位置不好定,要是能知道她的生日是星期几就好了,下面这个程序就能搞定~~ 比如girl friend ...

  7. 【Python】如何基于Python写一个TCP反向连接后门

    首发安全客 如何基于Python写一个TCP反向连接后门 https://www.anquanke.com/post/id/92401 0x0 介绍 在Linux系统做未授权测试,我们须准备一个安全的 ...

  8. 用Python写一个简单的Web框架

    一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI( ...

  9. [py]python写一个通讯录step by step V3.0

    python写一个通讯录step by step V3.0 参考: http://blog.51cto.com/lovelace/1631831 更新功能: 数据库进行数据存入和读取操作 字典配合函数 ...

随机推荐

  1. unixbench安装及使用

    unixbench 是一个用于測试 unix 系统性能的工具.也是一个比較通用的 benchmark, 此測试的目的是对类Unix 系统提供一个主要的性能指示,非常多測试用于系统性能的不同方面,这些測 ...

  2. C++STL之multiset多重集合容器

    multiset多重集合容器 multiset与set一样, 也是使用红黑树来组织元素数据的, 唯一不同的是, multiset允许重复的元素键值插入, 而set则不允许. multiset也需要声明 ...

  3. 5.Spring Cloud初相识-------Hystrix熔断器

    前言: 1.介绍Hystrix 在一个分布式系统里,许多依赖不可避免的会调用失败,比如超时.异常等,如何能够保证在一个依赖出问题的情况下,不会导致整体服务失败,这个就是Hystrix需要做的事情.Hy ...

  4. 12.1.0.2自适应特性导致SQL性能下降

    背景介绍 在升级到12.1.0.2.0数据库版本后,在使用12c中引入的自适应特性默认配置的情况下,可能引起SQL性能的下降. 问题现象升级到12.1.0.2.0后,SQL语句性能可能出现下降. 影响 ...

  5. 【例题收藏】◇例题·I◇ Snuke's Subway Trip

    ◇例题·I◇ Snuke's Subway Trip 题目来源:Atcoder Regular 061 E题(beta版) +传送门+ 一.解析 (1)最短路实现 由于在同一家公司的铁路上移动是不花费 ...

  6. [转] vim配置python自动补全

    vim python自动补全插件:pydiction 可以实现下面python代码的自动补全: 1.简单python关键词补全 2.python 函数补全带括号 3.python 模块补全 4.pyt ...

  7. 协议 - OSI七层网络协议模型

    摘自:https://www.cnblogs.com/oneplace/p/5611094.html 互联网协议 本文全文转载阮一峰老师的两篇文章,自己做了一些添加内容 参考:互联网协议入门(一) 互 ...

  8. JAVAOOP多态

    概念:不同对象对于同一个操作做出的相应不同 实现方法:父类:抽象类 抽象方法 子类:普通类 重写抽象方法 同名 父类:普通类 普通方法 子类:普通类 普通方法 同名 父类:接口 抽象方法 实现类:普通 ...

  9. 列表,元组的操作,for循环

    1.列表 # li = ["wang","jian","wei"] # print(li) # 结果:['wang', 'jian', 'w ...

  10. 【转载】VS2015 + EF6连接MYSQL5.6

    引用文章:https://jingyan.baidu.com/article/ce09321b9cc43f2bff858fbf.html 安装包注意点说明: 1.程序名称:mysql-for-visu ...