首页 > 编程语言 >python中的while True

python中的while True

时间:2023-03-28 23:00:35浏览次数:31  
标签:用户名 name python 密码 while print True 输入

建立一个用户登录系统,用户输入用户名和密码,如果正确就可以进入系统。

1、我自己最开始的写法:

 1 d = {}        #数据库字典,所有用户的用户名密码存储在此
 2 
 5 name = input("请输入您的用户名:")
 6 
 7 if name in d:
 8 
 9     password = input("请输入您的密码")
10 
11     if d[name] == password:
12 
13         print('进入系统')
14 
15     else:
16 
17         print('您输入的密码错误,请重新输入')
18 
19 else:
20 
21     print('您输入的用户名不正确,请重新输入')

 

这个自己写的程序逻辑上貌似是对的:

——先让用户输入用户名,如果存在该用户名,就继续让用户输入密码,如果密码正确就进入系统。如果密码不正确就重新输入。

——如果不存在该用户名,提示“您输入的用户名不正确,请重新输入”

但是在实际运行过程中,如果用户输入的用户名和密码都正确,那自然是没有问题的。但是如果有一个输入不正确,那系统只会显示“您输入的用户名不正确,请重新输入”或“您输入的密码错误,请重新输入”。

也就是说,如果出现错误,没有返回到原来的地方,请求继续输入。

2、采用while True循环语句:

采用该语句的核心思想是如果出现错误的话,可以继续循环。

 1 d = {}
 2 
 3  
 4 while True:
 5 
 6     name = input('请输入您的用户名:')
 7 
 8     if name in d:
 9 
10         break
11 
12     else:
13 
14         print('您输入的用户名不存在,请重新输入')
15 
16         continue
17 
18  
19 
20 while True:
21 
22     password = input('请输入您的密码:')
23 
24     if d[name] == password:
25 
26         print('进入系统')
27 
28         break
29 
30     else:
31 
32         print('您输入的密码不正确,请重新输入')
33 
34         continue

以上程序就可以达到所需目的:在输入用户名或密码错误的情况下返回到开始部分,请求继续输入。

while True 语句中一定要有结束该循环的break语句,否则会一直循环下去的。

当然,我们遇见过如果密码错误的话,提示您还有几次输入密码的机会。可以这样实现:

 1 count = 5
 2 
 3 while count:
 4 
 5     password = input('请输入您的密码:')
 6 
 7     if d[name] == password:
 8 
 9         print('进入系统')
10 
11         break
12 
13     else:
14 
15         count -= 1
16 
17         print('您输入的密码不正确,还有{}次输入机会'.format(count))
18 
19         continue

 

标签:用户名,name,python,密码,while,print,True,输入
From: https://www.cnblogs.com/ricehome/p/17267101.html

相关文章

  • QT调用python打包
    1.参考QT调用python环境,https://www.cnblogs.com/xian-yongchao/p/17238684.html。使用其中的依赖包,如下图所示:   2.加上QT调用python的中间动态库,如下图所示。 ......
  • Fatal error in launcher: Unable to create process using '"d:\software\python\
    Fatalerrorinlauncher:Unabletocreateprocessusing'"d:\software\python\python.exe" 问题发生:是由于python切换环境导致的。本来python放在D盘software的......
  • Python-异常处理
    Python中也有异常处理的方式:演示代码:try:user_weight=float(input("输入体重:"))user_height=float(input("输入身高:"))user_bmi=user_weight/......
  • Python中的这个super这行是啥意思啊?
    大家好,我是皮皮。一、前言前几天在Python白银交流群【Ming】问了一个Python基础的问题,这里拿出来给大家分享下。二、实现过程这里【carpediem】给了一个思路,如下图所......
  • Python-HelloWorld
    Python语言在形式上比之前学过的CC++Java等都要简单的多,它不需要导包或者声明#include什么的,甚至不需要创建class或者main函数我们首先新建一个python文件,后缀是.py......
  • pytest在python中的使用
    pytest简介:pytest是python的第三方单元测试框架,比自带的unittest更简洁和高效,同时兼容unittest框架。 pytest测试用例编写规则:1、测试文件以test_开头(以_test结尾......
  • Python-开始学习python
    为了之后服务外包杯团队合作项目,我今天开始学习python.首先要安装开发环境和编译器一个在python官网下载https://www.python.org/在cmd中输入python测试安装是否成功......
  • 深入理解 python 虚拟机:pyc 文件结构
    深入理解python虚拟机:pyc文件结构在本篇文章当中主要给大家介绍一下.py文件在被编译之后对应的pyc文件结构,pyc文件当中的一个核心内容就是python字节码。pyc......
  • python系列004
    .updata()方法,对数字的键值无效?解决:a.update({2:"哈哈哈"})//dict.update()要求传入一个dict,a.update(2="nonono")并不是;//然而,以字符作为键值却可以使用上述注释的......
  • Python 文件处理
    文件处理是任何Web应用程序的重要组成部分。Python有几个用于创建、读取、更新和删除文件的函数。文件处理在Python中使用文件的关键函数是 open() 函数。open......