循环语句
循环语句:按照指定的次数重复的执行指定代码
分类:while循环、for循环
while循环
语法:
while condition :
代码块
执行流程:while语句在执行时,会先进行条件判断,如果结果为True,则执行代码块,依次往复执行,知道结果为False终止循环。
示例:
a = 0
while a < 3 :
a = a + 1
print(a)
1
2
注:使用while循环的condition条件一定要排除死循环,即:防止condition一直为True
错误示例: 此代码将永无休止的执行下去。
while a == 1 :
print(a)
示例2:
a1 = 'hello'
while a1 == 'hello' :
print(a1)
a1 = '你好'
else :
print(a1)
hello
你好
注:当while中的条件不满足时,便会执行else中代码
for 循环
语法:
for item in list/str :
执行代码块
for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
示例1 遍历字符串:
for s in 'Hello' :
print(s)
H
e
l
l
o
示例2: 遍历列表:
arry = ['苹果','香蕉','葡萄']
for arr in arry :
print(arr)
苹果
香蕉
葡萄
通过序列索引进行迭代
arry2 = ['奔驰','宝马','奥迪']
for index1 in range(len(arry2)) :
print(arry2[index1])
奔驰
宝马
奥迪
注:range()函数返回一个序列数,len()函数返回列表长度
for … else
语法:
for item in list/str :
代码块
else :
代码块
语义:当for循环中的语句不是通过break跳出循环,便会执行else中的代码
示例:
for index2 in range(10,13) :
print(index2)
else :
print('if...else 执行完成')
10
11
12
if…else 执行完成
注:range(10,13) 执行10 到13 之间的数—> 10 <= index < 13
此示例由于当索引值index为13时会执行break代码,所以else中的代码不会执行
for index3 in range(10,13) :
print(index3) # 10 11 12
if index3 == 12 :
break
else :
print('if...else 执行完成')
10
11
12
1、break: 立即退出循环。
2、continue : 跳出本次循环,进入下次循环
3、while ... else 也是一样
嵌套循环
while嵌套循环:
语法:
while condition :
while condition :
执行代码
执行代码
示例:
i = 0
while i < 3 :
i += 1
j = 0
while j < 2 :
j += 1
print(f'外层循环第{i}次',f'内层循环第{j}次')
print(f'外层循环第{i}次')
else :
print('嵌套循环结束')
外层循环第1次 内层循环第1次
外层循环第1次 内层循环第2次
外层循环第1次
外层循环第2次 内层循环第1次
#外层循环第2次 内层循环第2次
外层循环第2次
外层循环第3次 内层循环第1次
外层循环第3次 内层循环第2次
外层循环第3次
嵌套循环结束
注:笔者在此练习时,一直习惯使用Tab键,至此在此处遇到 inconsistent use of tabs and spaces in indentation,经过反复检查因为使用sublime text会自动缩进将第二层while循环前的Tab没有转换为空格所导致的。
for 嵌套循环
for r1 in range(1,3) :
for r2 in range(1,3):
print(f'外层循环第{r1}次',f'内层循环第{r2}次')
print(f'外层循环第{r1}次')
else :
print("循环结束")
外层循环第1次 内层循环第1次
外层循环第1次 内层循环第2次
外层循环第1次
外层循环第2次 内层循环第1次
外层循环第2次 内层循环第2次
外层循环第2次
循环结束
与其他语言一样,写一个99乘法表
f1 = 0
while f1 < 9 :
f1 += 1
f2 = 0
while f2 < f1 :
f2 += 1
print(f"{f1}*{f2}={f1*f2} ",end="")
print()
注:本文仅用于个人学习记录,如有错误之处希望大家多多指正,共同进步。