Python流程控制 while循环实现解析

yipeiwu_com6年前Python基础

一、语法

while 条件:

执行代码

while就是当的意思,它指当其后面的条件成立,就执行while下面的代码。

例:写一个从0打印到10的程序

count = 0
while count <= 10:
  print('第%s次' % count)
  count += 1

如果要打印1~10之间的偶数怎么办呢?

那就得先搞清楚,怎么判断一个数字是偶数?能被2整除的就是偶数,但如何判断这个数是否能被2整除呢?简单,直接判断这个数除以2之后的余数是否为0就行了,这就用到了前面“Python之运算符”中介绍的取模运算符%。

count = 1
while count <= 10:
  if count % 2 == 0:
    print('偶数:%s' % count)
  count += 1

二、循环中止语句

1、死循环

有一种循环叫死循环,只要一触发,就运行到海枯石烂,机器发烧瘫痪。

只要while后边的条件一直成立即一直为真(True)就会一直执行,例如:

count = 0
while True:   # 布尔值中的True本身就是真
  print('不会结束的,打不完的!')
  count += 1 # count怎么加都没用,因为while后面的判断语句与count无关

2、break

break用于完全结束一个循环,跳出循环体,执行循环体后面的代码

count = 0
while count <= 10:
  print('第%s次' % count)
  if count == 5:   # 当count等于5时,执行break
    break
  count += 1
print('循环结束!')   # 注意缩进!此代码不在循环体内。

3、continue

continue和break有点类似,区别在于continue只是终止本次循环,还会接着执行后面的循环,break则是完全终止循环。

count = 0
while count <= 10:
  count += 1
  if count == 5:   # 当count等于5时,执行continue,
    continue
  print('第%s次' % count) # 当执行了continue就会跳过本次打印
print('循环结束!')   # 注意缩进!此代码不在循环体内。

4、while...else...

与其它语言不同,Python中else可以跟while搭配使用

while后面的else作用是指,当while循环正常执行完,中间没有被break中止的话,就会执行else后面的语句。

count = 0
while count <= 5:
  count += 1
  print('第%s次' % count)
else:
  print('循环正常执行完了。')
print('循环结束!')

注:如果在执行过程中被break终止,就不会执行else语句了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python提取log文件内容并画出图表

python提取log文件内容并画出图表

之前在excel里面分析log数据,简直日了*了。 现在用python在处理日志数据. 主要涉及 matplotlib,open和循环的使用。 日志内容大致如下 2016-10-2...

在SAE上部署Python的Django框架的一些问题汇总

花了些工夫将碎片网部署到了SAE,中途遇到各类问题。感觉SAE看上去很美,实际上却并不是太成熟(至少python版如此)。 下面记录下我遇到的一些主要问题以及解决方法。 django版本...

Python的numpy库中将矩阵转换为列表等函数的方法

这篇文章主要介绍Python的numpy库中的一些函数,做备份,以便查找。 (1)将矩阵转换为列表的函数:numpy.matrix.tolist() 返回list列表 Examples...

python简单线程和协程学习心得(分享)

python中对线程的支持的确不够,不过据说python有足够完备的异步网络框架模块,希望日后能学习到,这里就简单的对python中的线程做个总结 threading库可用来在单独的线程...

PyQt4 treewidget 选择改变颜色,并设置可编辑的方法

PyQt4 treewidget 选择改变颜色,并设置可编辑的方法

如下所示: # -*- coding: utf-8 -*- import sys from PySide.QtGui import * from PySide.QtCore impo...