示例1:

  1. """
  2. 编写一个程序
  3. 用户可以输入用户名和密码
  4. 用户有三次机会
  5. 登录成功可以进行相应的操作
  6. 输入Q退出系统
  7. """
  8. name_list = ["zhangdada","wangxiaoxiao","lizhongzhong"]
  9. pwd_list = ["123","456","789"]
  10. info = ["1:存款","2:取款","3:转账","4:查询"]
  11.  
  12. print("欢迎使用本系统,退出请输入Q")
  13.  
  14. tag =True
  15. i = 0
  16. while tag:
  17.  
  18. name = input("请输入你的用户名:")
  19. pwd = input("请输入你的密码:")
  20.  
  21. if name == "Q" or pwd == "Q": # 退出条件
  22. tag = False
  23. break
  24.  
  25. if i >= 2: # 输入次数判断
  26. print("您今日的次数已用完,账户锁定!")
  27. break
  28.  
  29. if name not in name_list or pwd not in pwd_list: # 登录逻辑
  30. i += 1
  31. print("用户名或者密码错误!")
  32. continue
  33. else:
  34.  
  35. for i in info: # 业务逻辑展示
  36. print("****%s*****" % i)
  37.  
  38. while tag: # 业务逻辑循环
  39. yewu = input("请输入你要办理的业务对应数字:")
  40.  
  41. if yewu == "Q": # 退出条件
  42. tag = False
  43. break
  44.  
  45. if yewu == "2":
  46. print("您已取款:1000元")
  47. elif yewu == "1":
  48. print("您已存款:1000元")
  49. elif yewu == "3":
  50. print("您已转账: 3000元")
  51. elif yewu == "4":
  52. print("您的账户余额为:38028元")
  53. else:
  54. print("输入错误,请从新输入")

示例1改进:

  1. """
  2. 编写一个程序
  3. 用户可以输入用户名和密码
  4. 用户有三次机会
  5. 登录成功可以进行相应的操作
  6. 输入Q退出系统
  7.  
  8. 加入新用户注册功能
  9. """
  10. name_list = ["zhangdada","wangxiaoxiao","lizhongzhong"]
  11. pwd_list = ["123","456","789"]
  12. info = ["1:存款","2:取款","3:转账","4:查询"]
  13.  
  14. while True:
  15.  
  16. print("欢迎使用本系统,用户登陆请输入1,新用户注册请输入2,退出请输入Q")
  17. choose = input("请选择类型:")
  18.  
  19. if choose == "Q": # 退出行
  20. tag_1 = False
  21. break
  22.  
  23. # 新用户注册
  24. if choose == "2":
  25. while True:
  26. name_new = input("请创建用户名:")
  27. if name_new in name_list:
  28. print("用户名已存在请重新输入!")
  29. else:
  30. name_list.append(name_new)
  31. pwd_new = input("请设置密码:")
  32. if pwd_new in pwd_list:
  33. print("密码重复,请重新来过!")
  34. name_list.remove(name_new)
  35. continue
  36. else:
  37. pwd_list.append(pwd_new)
  38. break
  39.  
  40. elif choose == "1" :
  41. break
  42. else:
  43. print("输入错误,请重新来过!")
  44.  
  45. # 登陆部分和业务处理
  46. tag = True
  47. i = 0
  48. while tag and tag_1:
  49.  
  50. name = input("请输入你的用户名:")
  51. pwd = input("请输入你的密码:")
  52.  
  53. if name == "Q" or pwd == "Q": # 退出条件
  54. tag = False
  55. break
  56.  
  57. if i >= 2: # 输入次数判断
  58. print("您今日的次数已用完,账户锁定!")
  59. break
  60.  
  61. if name not in name_list or pwd not in pwd_list: # 登录逻辑
  62. i += 1
  63. print("用户名或者密码错误!")
  64. continue
  65. else:
  66.  
  67. for i in info: # 业务逻辑展示
  68. print("****%s*****" % i)
  69.  
  70. while tag: # 业务逻辑循环
  71. yewu = input("请输入你要办理的业务对应数字:")
  72.  
  73. if yewu == "Q": # 退出条件
  74. tag = False
  75. break
  76.  
  77. if yewu == "2":
  78. print("您已取款:1000元")
  79. elif yewu == "1":
  80. print("您已存款:1000元")
  81. elif yewu == "3":
  82. print("您已转账: 3000元")
  83. elif yewu == "4":
  84. print("您的账户余额为:38028元")
  85. else:
  86. print("输入错误,请从新输入")

python登陆界面尝试的更多相关文章

  1. selenium+python自动化用例登陆界面模板

    一.基本逻辑 1.自动填写用户名和密码登录成功后跳转到相应页面 2.验证相应页面的url与给定的url是否一致,如果一致则测试通过,如果不一致则不通过 二.以jenkins登陆界面为例,代码如下 fr ...

  2. outlook 2016 for windows 每次刷新发送接收邮件会弹出登陆界面

    Q: outlook2016 for windows 每次刷新发送接收邮件会弹出登陆界面,office365 ProPlus 都是正常激活了,Word 和Excel都不存在此类问题 A: 排除用户的o ...

  3. Eclipse通过jdbc连接数据库制作简单登陆界面

    一.前言: 做网站开发,要求有多种搭配方式,前台技术可以使用PHP.ASP.JSP.ASP.NET.CGI等任何一种: 需要用到的基础语言用的最多的就是HTML/CSS.JS.JAVA.XML这些了, ...

  4. 🈲Eclipse通过jdbc连接数据库制作简单登陆界面【新手必看】

    一.前言: 做网站开发,要求有多种搭配方式,前台技术可以使用PHP.ASP.JSP.ASP.NET.CGI等任何一种: 需要用到的基础语言用的最多的就是HTML/CSS.JS.JAVA.XML这些了, ...

  5. QML与C++交互:登陆界面设计

    QML与C++交互:登陆界面设计 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN7 开发环境:Qt5.2.1 说明: QML设计前 ...

  6. [Django]登陆界面以及用户登入登出权限

    前言:简单的登陆界面展现,以及用户登陆登出,最后用户权限的问题 正文: 首先需要在settings.py设置ROOT_URLCONF,默认值为: ROOT_URLCONF  = 'www.urls'# ...

  7. javafx之登陆界面的跳转

    界面布局用到的是fxml而非纯java代码,工具是javafx sence builder 账号:account 密码:password 登陆成功: 可以点击退出登陆返回到登陆页面 工程目录: pac ...

  8. Altium Designer15 卡在登陆界面解决办法:

    Altium Designer15 卡在登陆界面解决办法: 在我的电脑系统盘中找到下面目录(注:如果看不到,需要取消隐藏文件选项.) C:\Documents and Settings\Adminis ...

  9. 描述Linux系统开机到登陆界面的启动过程(计时2分钟)

    简述: 1.开机BIOS自检 2.MBR引导 3.grub引导菜单 4.加载内核kernel 5.启动init进程 6.读取inittab文件,执行rc.sysinit,rc等脚本 7.启动minge ...

随机推荐

  1. AIoT & IoT

    AIoT & IoT Artificial Intelligence of Things Internet of Things AIoT === AI + IoT 人工智能物联网 === 人工 ...

  2. base 64 & blob & image url

    base 64 & blob & image url base 64 image & e.clipboardData.items[1] https://codepen.io/x ...

  3. vue & modal props & form data update bug

    vue & modal props & form data update bug OK <div> <BindModal :dialogBindVisible=&qu ...

  4. bowser checker & UA

    bowser checker & UA navigator.userAgent; https://developer.mozilla.org/en-US/docs/Web/HTTP/Brows ...

  5. 行业动态 | Apache Pulsar 对现代数据堆栈至关重要的四个原因

    与 Kafka 相比,Pulsar 的架构使它在跨地域复制.扩展.多租户和队列等方面具有重要的优势.   1 月 27 日,DataStax 宣布收购Kesque(Pulsar 即服务),加入到了 P ...

  6. .Net Core 3.1浏览器后端服务(三) Swagger引入与应用

    一.前言 前后端分离的软件开发方式已逐步成为互联网项目开发的业界标准,前后端分离带来了诸多好处的同时,也带来了一些弊端. 接口文档的维护就是其中之一,起初前后端约定文档规范,开发的很愉快,随着时间推移 ...

  7. .NET Core Swagger 的分组使, 以及相同Action能被多个分组公用,同时加载出尚未分组的数据出来

    1.本文章参考 点击链接跳转 改写的 一对多分组模式.需要一对一的可以参考 2.本文主要讲的是 一对多 分组公用, 同时把尚未分组的加载出来 3.效果演示GIF图: 具体操作代码如下: 1.在项目创建 ...

  8. linux系统忘记root的登录密码

    参考链接:https://www.jb51.net/article/146541.htm  亲测有效 使用场景 linux管理员忘记root密码,需要进行找回操作. 注意事项:本文基于centos7环 ...

  9. FTPClient类的API

    org.apache.commons.NET.ftp Class FTPClient类FTPClient java.lang.Object java.lang.Object继承 org.apache. ...

  10. 前端传数据到后台,后台用实体类接收不到引发的思考----Java bean中字段命名潜规则

    1.按照Java语法规范,通常在实体类中的属性,首字母都是小写的.这是由于JavaBean的规范导致的.一般JavaBean属性都是首字母小写,以驼峰命名格式命名,相应的 getter/setter ...