while

只要…条件成立,就一直做…。

for 循环会在可迭代的序列被穷尽的时候停止,while 则是在条件不成立的时候停止,因此 while 的作用概括成一句话就是:只要…条件成立,就一直做…。

死循环例子:
while 1< 3:
print('1 is smaller than 3 ')
解决死循环的方法
方法一:在程序中制造某种可以使循环停下来的条件
count = 0
while True:
print('Repeat this line!')
count = count + 1
if count == 5:
break
方法二:
让 while 循环停下来的另外一种方法是:改变使循环成立的条件
给登录函数增加一个新功能:输入密码错误超过3次就禁止再次输入密码。
password_list = ['*#*#','12345']

def account_login():
tries = 3
while tries > 0:
password = input('Password:')
password_correct = password == password_list[-1]
password_reset = password == password_list[0] if password_correct:
print('Login success!')
elif password_reset:
new_password = input('Enter a new password:')
password_list.append(new_password)
print('Password has changed successfully!')
account_login()
else:
print('Wrong password or invalid input!')
tries = tries - 1
print(tries, 'times left')
else:
print('Your account has been suspended')
account_login()
第4~5行:增加了while循环,如果tries>0 这个条件成立,那么便可输入密码,从而执行辨别密码是否正确的逻辑判断:
第20~21行:当密码输入错误时,可尝试的次数tries减少1:
第23~24行:while循环的条件不成立时,就意味着尝试次数用光,通告用户账户被锁。
												

最新文章

  1. java.lang.NullPointerException org.apache.struts2.impl.StrutsActionProxy.getErrorMessage(StrutsActionProxy.java:69)
  2. CGCDSSQ
  3. Mishka and Interesting sum Codeforces Round #365 (树状数组)
  4. 反向Ajax,实现服务器向客户端推送消息
  5. JobTracker启动流程源码级分析
  6. C#写入登陆Cookies
  7. STL源码分析-AVL树-RB树
  8. AFNetworking 与 NSURLSession
  9. 虚拟主机、VPS、云主机以及独立服务器的关系
  10. 博客搬家啦。请访问我的新底盘www.boyipark.com
  11. [转载]MongoDB学习 (四):创建、读取、更新、删除(CRUD)快速入门
  12. Codeforce 216 div2
  13. 性能测试培训: 监控CPU之python
  14. 数组去重+indexOf()应用
  15. HA集群heartbeat配置--Nginx
  16. js,JQ 图片转换base64 base64转换为file对象,blob对象
  17. Tomcat7目录结构详解
  18. php-fpm的pool池子、php慢日志记录、open_basedir、php-fpm进程管理
  19. c#属性 ——面向对象
  20. maven打包资源文件(转)

热门文章

  1. Generator函数(三)
  2. Scala 数据类型
  3. WiFi安全测试工具、蹭网利器–WiFiPhisher(转)
  4. html在线美化网站
  5. rocketmq,zookeeper,redis分别持久化的方式
  6. appium+python自动化50-生成定位对象模板templet(jinja2)
  7. 用javac编译整个j2ee项目
  8. 解决Hue/hiveserver2报错:java.io.IOException: Job status not available
  9. 常见Linux命令(非文件操作)
  10. dbus启动失败:Couldn&#39;t connect to system bus: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11