Python入门之循环控制
Python是一种解释型的、面向对象的、带有动态语义的高级程序设计语言,本节主要总结Python入门循环控制、Python语言:While,For,if else ,continue和break等内容学习。
While循环语句
简单while语句
当满足条件时,执行循环体:
代码语言:javascript复制# coding utf-8
count = 5
while count > 0:
print(count)
count = count - 1
注:
1)while语句后加冒号:
2)Python通过缩进识别语句块,而不是{ }
3) 如果出现死循环,Ctrl C 快捷键终止
4)在Python中没有do..while循环
输出:
5
4
3
2
1
无限循环
while True : 如在循环输入时使用
代码语言:javascript复制# coding:utf-8
while True:
num = int(input("请输入一个数字 :"))
print("你输入的数字是:", num)
请输入一个数字 :2
你输入的数字是: 2
请输入一个数字 :66
你输入的数字是: 66
while 循环使用 else 语句
代码语言:javascript复制count = 0
while count < 5:
print (count, " 小于 5")
count = count 1
else:
print (count, " 大于或等于 5")
输出:
0 小于 5
1 小于 5
2 小于 5
3 小于 5
4 小于 5
5 大于或等于 5
for循环语句
简单for循环
代码语言:javascript复制# 1<=i<5
for i in range(1, 5):
print(i)
输出:
1
2
3
4
注:
1)如果你需要遍历数字序列,可以使用内置range()函数
2)range(1, 5) 指:1,2,3,4 不包括5
遍历字符串
代码语言:javascript复制# 遍历序列,列表或字符串
for letter in "Python":
print(letter)
print("Python")
输出:
P
y
t
h
o
n
Python
遍历list
代码语言:javascript复制# 直接遍历元素
letterList = ['A', 'B', 'C', 'D', 'E']
for letter in letterList:
print(letter)
索引迭代:结合range()和len()函数以遍历一个序列的索引
代码语言:javascript复制# 序列索引迭代
for i in range(len(letterList)):
print(letterList[i])
均输出:
A
B
C
D
E
if...elif...else 语句
代码语言:javascript复制if 表达式1:
语句
if 表达式2:
语句
elif 表达式3:
语句
else:
语句
elif 表达式4:
语句
else:
语句
注:
1)每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
2)使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
3)在Python中没有switch – case语句。
举例:
代码语言:javascript复制num = int(input())
if num % 2 == 0:
if num % 3 == 0:
print("你输入的数字可以整除 2 和 3")
else:
print("你输入的数字可以整除 2,但不能整除 3")
else:
if num % 3 == 0:
print("你输入的数字可以整除 3,但不能整除 2")
else:
print("你输入的数字不能整除 2 和 3")
6
你输入的数字可以整除 2 和 3
break和continue语句
(1)break 语句可以跳出 for 和 while 的循环体。
如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
(2)continue语句则跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
代码语言:javascript复制# break 和 continue 语句
for i in range(1, 5):
if (i == 2):
break
print(i)
输出:
1
代码语言:javascript复制for i in range(1, 5):
if (i == 2):
continue
print(i)
输出:
1
3
4
循环语句 else 子句
循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被break终止时不执行。
计算质数:
代码语言:javascript复制# For循环使用else语句
# 求a,b数之间的质数
a = 5
b = 10
for num in range(a, b):
for i in range(2, num):
if num % i == 0:
print(num, '=', i, '*', num // i)
break
else:
print(num, '是质数')
输出:
5 是质数
6 = 2 * 3
7 是质数
8 = 2 * 4
9 = 3 * 3
如果不小心把else位置多了个Tab,虽然代码完全一下,只是多了Tab,那就凉了:
代码语言:javascript复制a = 5
b = 10
for num in range(a, b):
for i in range(2, num):
if num % i == 0:
print(num, '=', i, '*', num // i)
break
else:
print(num, '是质数')
输出:
5 是质数
5 是质数
5 是质数
6 = 2 * 3
7 是质数
7 是质数
7 是质数
7 是质数
7 是质数
8 = 2 * 4
9 是质数
9 = 3 * 3
pass 语句
pass是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。
代码语言:javascript复制for letter in "Python":
if (letter == 'o'):
pass
print('执行pass块')
print(letter)
输出:
P
y
t
h
执行pass块
o
n