循环语句
while
语法格式
while 判断条件:
执行语句(判断条件为true执行)
流程图
例子:
i = 1
sum = 0
while i <= 100:
sum = sum + i
i = i + 1
print("1到100之和为:"+str(sum))
无限循环
- 通过设置条件表达式永远不为 false 来实现无限循环
- 实例
var = 1 while var == 1: # 表达式永远为 true num = int(input("输入一个数字 :")) print("你输入的数字是: ", num) print("Good bye!")
- 你可以使用 CTRL+C 来退出当前的无限循环。
- 无限循环在服务器上客户端的实时请求非常有用。
while循环使用else语句
如果 while 后面的条件语句为 false 时,则执行 else 的语句块。
语法格式
while 判断条件:
执行语句(判断条件为true执行)
else:
执行语句(判断条件为false执行)
实例:
count = 0
while count < 5:
print(count, " 小于 5")
count = count + 1
else:
print(count, " 大于或等于 5")
for
在python中for循环可以遍历任何序列的项目,如一个列表或者一个字符串等
流程图
语法格式
for 临时变量 in 列表或字符串等可以迭代对象:
循环满足条件时执行的代码
for循环的使用
- 遍历字符串:
# 遍历字符串 # 一个一个的输出 叫做循环 也叫做遍历 s = 'Hello' # i是字符串中一个又一个的字符变量 # s是代表的要遍历的数据 for i in s: print(i) for i in range(1,10,3): print(i)
- 遍历列表中的元素
list = ['hello','abcd','你好'] # 遍历列表中的元素 for i in list: print(i)
- 遍历列表中的下标
- len()判断列表中的元素个数
list = ['hello','abcd','你好'] # 遍历列表中的下表 # 判断列表中元素的个数 print(len(list)) for i in range(len(list)): print(i)
- len()判断列表中的元素个数
range
range对象是一个迭代器对象,用来产生指定范围的数字序列。
语法格式
-
range(start, stop[, step])
- 参数说明
- start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
- stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
- step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
- 实例
>>>range(10) # 从 0 开始到 9 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(1, 11) # 从 1 开始到 10 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> range(0, 30, 5) # 步长为 5 [0, 5, 10, 15, 20, 25] >>> range(0, 10, 3) # 步长为 3 [0, 3, 6, 9] >>> range(0, -10, -1) # 负数 [0, -1, -2, -3, -4, -5, -6, -7, -8, -9] >>> range(0) [] >>> range(1, 0) []
- range在for循环中使用
# range(5) # range方法的结果 一个可以遍历的对象 # range(5) 0~4 左闭右开[0,5) for i in range(5): print(i) # range(1,6) # range(起始值,结束值) # 左闭右开区间 for i in range(1,6): print(i) # range(1,10,3) # range(起始值,结束值,步长) #1 4 7 10 # 左闭右开 for i in range(1,10,3): print(i)
break 和 continue 语句
流程图
break执行流程图
-
break语句用于while循环和for循环,用于结束整个循环
-
break语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行
-
当有嵌套循环时,break语句只能跳出最近一层循环
continue执行流程图
-
continue语句用于结束本次循环,继续下一次。
-
continue语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
-
多个循环嵌套时,continue应用于最近的一层循环。
在while语句中 break 与 continue 的执行过程
- while中使用break
n = 5 while n > 0: n -= 1 if n == 2: break print(n) print('循环结束。') #输出 4 3 循环结束。
- while中使用continue
n = 5 while n > 0: n -= 1 if n == 2: continue print(n) print('循环结束。') #输出 4 3 1 0 循环结束。
在for语句中 break 与 continue 的执行过程
for语句中使用continue
for letter in 'Runoob':
if letter == 'o': # 字母为 o 时跳过输出
continue
print ('当前字母 :', letter)
#输出
当前字母 : R
当前字母 : u
当前字母 : n
当前字母 : b
for语句中使用break
for letter in 'Runoob':
if letter == 'b': #字母为b时跳出循环
break
print ('当前字母为 :', letter)
#输出
当前字母为 : R
当前字母为 : u
当前字母为 : n
当前字母为 : o
当前字母为 : o
循环中的else语句
-
while、for循环可以附带一个else语句(可选)
-
如果for、while语句没有break语句结束,则会执行else子句,否则不执行。(循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被 break 终止时不执行。)
语法格式
while
while 条件表达式:
循环体
else:
语句块
实例:
while True:
a = input('请输入一个字符(输入q或Q结束)')
if a.upper()=='Q': #a=="Q" or a=="q"
print("循环结束,退出")
break
else:
print(a)
for
for 变量 in 可迭代对象:
循环体
else:
语句块
实例
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, ' 是质数')
#输出
2 是质数
3 是质数
4 等于 2 * 2
5 是质数
6 等于 2 * 3
7 是质数
8 等于 2 * 4
9 等于 3 * 3