Python3 循环语句
本章节将为大家介绍 Python 循环语句的使用。
Python 中的循环语句有 for 和 while。
Python 循环语句的控制结构图如下所示:
While循环
Python 中 while 语句的一般形式:
while 判断条件(condition):
执行语句(statements)……
执行流程图如下:
执行 Gif 演示:
同样需要注意冒号和缩进。另外,在 Python 中没有 do…while 循环。
以下实例使用了 while 来计算 1 到 100 的总和:
#使用了 while 来计算 1 到 100 的总和
#定义总和
sum = 0
#定义n值
n = 1
while n<=100:
sum += n
n += 1
print("1 到 100 的总和:",sum)
执行结果如下:
无线循环
我们可以通过设置条件表达式永远不为 false 来实现无限循环,实例如下:
#设置条件表达式永远不为 false 来实现无限循环
test = 1
while test == 1:
num = input("请输入一个数字:")
print("您输入的数字是:%s" % (num))
print('Good bye!')
执行以上脚本,输出结果如下:
你可以使用 CTRL+C 来退出当前的无限循环。
无限循环在服务器上客户端的实时请求非常有用。
while后面使用 else语句
如果 while 后面的条件语句为 false 时,则执行 else 的语句块。
语法格式如下:
while < expr >:
<statement(s)>
else:
<additional_statement(s)>
expr 条件语句为 true 则执行 statement(s) 语句块,如果为 false,则执行 additional_statement(s)。
循环输出数字,并判断大小:
#循环输出数字,并判断大小
count = 0
while count < 5:
print('%d小于5' % (count))
count += 1
else:
print('大于等于5')
执行以上脚本,输出结果如下:
简单语句组
类似if语句的语法,如果你的while循环体中只有一条语句,你可以将该语句与while写在同一行中, 如下所示:
#如果你的while循环体中只有一条语句,你可以将该语句与while写在同一行中
flag = 1
while flag==1:print("简单循环语句练习!")
print("输入ctrl+c!")
注意:以上的无限循环你可以使用 CTRL+C 来中断循环。
执行以上脚本,输出结果如下:
For语句
Python for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。
for循环的一般格式如下:
for < variable > in < sequence >:
< statements >
else:
< statements >
流程图:
Python for 循环实例:
#普通for循环列表
Nums = ["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16"]
for a in Nums:
print('输出:%s' % (a))
print('输出完成!')
执行脚本后,运行的结果:
以下 for 实例中使用了 break 语句,break 语句用于跳出当前循环体:
#普通for循环列表,当循环到4时,跳出循环。
Nums = ["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16"]
for a in Nums:
print('输出:%s' % (a))
if a == "4":
break
print('输出完成!')
执行脚本后,在循环到 "4"时会跳出循环体:
range()函数
如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列,例如:
#生成数列
for a in range(5):
print(a)
执行以上脚本,输出结果如下:
你也可以使用range指定区间的值:
for a in range(5,9):
print(a)
执行以上脚本,输出结果如下:
也可以使range以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做’步长’):
for a in range(0,30,2):
print(a)
执行以上脚本,输出结果如下:
负数:
for a in range(-10,-30,-2):
print(a)
执行以上脚本,输出结果如下:
您可以结合range()和len()函数以遍历一个序列的索引,如下所示:
#结合range()和len()函数以遍历一个序列的索引
Nums = ["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16"]
for a in range(len(Nums)):
print(a,Nums[a])
print('输出完成!')
执行以上脚本,输出结果如下:
还可以使用range()函数来创建一个列表:
break 和 continue 语句及循环中的 else 子句
break 执行流程图:
continue 执行流程图:
while 语句代码执行过程:
for 语句代码执行过程:
break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
实例:
while 中使用 break:
test_num = 5
while test_num <= 5:
test_num -= 1
if test_num == 2:
break
print(test_num)
print("当test_num等于2,时停止循环。")
输出结果为:
while 中使用 continue:
test_num = 5
while test_num > 0:
test_num -= 1
print(test_num)
if test_num == 2:
print("数字2")
continue
输出结果为:
更多实例如下:
for letter in 'Runoob': # 第一个实例
if letter == 'b':
break
print ('当前字母为 :', letter)
var = 10 # 第二个实例
while var > 0:
print ('当前变量值为 :', var)
var = var -1
if var == 5:
break
print ("Good bye!")
执行以上脚本输出结果为:
循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被 break 终止时不执行。
如下实例用于查询质数的循环例子:
for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
print(n, '等于', x, '*', n//x)
break
else:
# 循环中没有找到元素
print(n, ' 是质数')
执行以上脚本输出结果为:
pass 语句
Python pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句,如下实例
(无线循环,等待键盘中断 【Ctrl+C】)最小的类:
以下实例在字母为 o 时 执行 pass 语句块:
for letter in 'Runoob':
if letter == 'o':
pass
print ('执行 pass 块')
print ('当前字母 :', letter)
print ("Good bye!")
执行以上脚本输出结果为: