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

yipeiwu_com5年前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 str.format与制表符\t关于中文对齐的细节问题

浅谈python str.format与制表符\t关于中文对齐的细节问题

写了一个练手的爬虫...在输出的时候出现了让人很不愉♂悦的问题 像这样: 令人十分难受啊! #------------------------------------------ 在此...

Python 计算任意两向量之间的夹角方法

Python 计算任意两向量之间的夹角方法

如图所示,我们要计算任意两个向量之间的夹角。 (图中的坐标数字是估计值,随手给定) python代码如下 import math AB = [1,-3,5,-1] CD = [...

CentOS 6.5中安装Python 3.6.2的方法步骤

前言 centos 是自带python的。但是版本稍微旧一些。搞python开发,肯定要用新一点的稳定版。所以,要升级一下python。本文将介绍在CentOS 6.5中安装Python...

简单讲解Python中的数字类型及基本的数学计算

Python有四种类型的数字: 1.整型  a = 2 print a 2.长整型  b = 123456789 print b 3....

Python中dictionary items()系列函数的用法实例

本文实例讲述了Python中dictionary items()系列函数的用法,对Python程序设计有很好的参考借鉴价值。具体分析如下: 先来看一个示例: import html...