python循环
这一过程如果全手写,那会非常的痛苦,这时就需要引用到循环。
根据输入的条件,判断下面的代码需不需要反复执行,这一过程称为循环。
示例:
计算1+2+3+4+5+……+1000
这一过程如果全手写,那会非常的痛苦,这时就需要引用到循环。
1、While循环
语法:
while 循环条件:
循环执行动作
执行逻辑:while的循环条件为真时,会执行循环执行动作,直到循环条件为假,才会跳出循环执行动作。
示例:
int_value = 5
while int_value > 0:
print(int_value)
int_value -= 1
print("我跳出while循环了")
根据示例,while有个非常重要的条件。循环执行动作的内容一定跟循环条件相关,至少某一行代码是跟其有联系的,确保while循环的条件执行到某一步为假。若没有任何代码与循环条件有联系,则会出现:死循环。
示例:
此示例看看即可,不要运行,伤害电脑。
int_value = 5
count1 = 1
while int_value > 0:
print(int_value)
print(f"我执行了{count1}次")
count1 += 1
print("我跳出while循环了")
从示例中可见,瞬间的时间代码被执行了几十万次,并且没有跳出while循环。
切记:写循环时千万关注代码执行体内的逻辑有没有与循环条件建立联系,若没有,千万不要运行,否则很有可能对电脑造成破坏。
几个例子:
1、计算1-1000的和。
2、输出1-1000内的偶数。
示例1:
count1 = 0
index = 1
while index <= 1000:
count1 += index
index += 1
print(f"1-1000的和为:{count1}")
示例2:
count1 = 1
while count1 <= 1000:
if count1 % 2 == 0:
print(f"偶数为:{count1}\n")
count1 += 1
2、for循环
语法:
for 变量 in 序列:
循环执行动作
for循环的变量大多为临时变量,只在for循环内使用。列表、字符串、元组等都可以是序列。
执行逻辑:先从序列中取出一个值放到变量中,然后执行循环执行动作,里面的循环执行动作逻辑大多跟变量有关。执行结束后,再从序列中取值,再次执行循环执行动作。直到序列的值取完,for循环也就结束了。
示例:
for str1 in "abcdefg":
print(str1)
print("for循环执行完毕")
for list1 in [1,2,3,4,5]:
print(list1)
print("for循环执行完毕")
for tuple1 in (1,2,3,4):
print(tuple1)
print("for循环执行完毕")
2.1、range
range:[start,end,step)
解释:range函数是一个前闭后开的数字区间。其功能跟while循环类似,是从start开始到end-1结束。
示例:
for i in range(1,5):
print(i)
print("for循环执行完毕")
其可以设定步长,按照步长(可选)的方式遍历值。
示例:
for i in range(1,10,2):
print(i)
print("for循环执行完毕")
2.2、in的用法
in也可以用来判断字符串、列表、元组、集合、字典等元素是否在其内部。
示例:
str1 = "abcd"
print('abcd' in str1)
list1 = [1,2,3,4]
print(1 in list1)
tuple1 = (1,2,3)
print(1 in tuple1)
set1 = {1,2,3}
print(1 in set1)
dict1 = {0:1,1:2}
print(0 in dict1.keys())
print(2 in dict1.values())
print((0,1) in dict1.items())
3、循环跳出
无论是for循环还是while循环都可以提前跳出循环,并不是非要根据条件或取值。
3.1、break
break只能作用于循环中,其作用是直接打破本层的循环条件和取值条件,从而退出本层循环。
示例:
for i in range(1,10):
if i == 5:
break
print(i)
print("for循环执行完毕")
count1 = 10
while count1 > 0:
if count1 == 5:
break
print(count1)
count1 -= 1
print("while循环执行完毕")
3.2、continue
continue与break类似但不完全相同,continue的作用是跳过某次循环执行动作,开始下一次新的循环。
示例:
for i in range(1,3):
if i == 5:
continue
print(i)
print("for循环执行完毕")
count1 = 3
while count1 > 0:
if count1 == 2:
count1 -= 1
continue
print(count1)
count1 -= 1
print("while循环执行完毕")
break用于当循环满足某个条件直接退出本层循环,而continue是循环满足某个条件直接开启下一次新的循环。
4、循环嵌套
循环和if判断一样,同样可以嵌套。
示例:
for i in range(2):
for j in range(2):
print(f"i的值为{i},j的值为{j}")
print("for循环执行完毕")
i = 2
while i >= 0:
for j in range(2):
print(f"i的值为{i},j的值为{j}")
i -= 1
print("while循环执行完毕")
while循环和for循环也可嵌套循环。
所以,上述break和continue结束的是本层循环,多层循环可能需要多个break和continue。
示例:
for i in range(2):
for j in range(2):
if j == 1:
break
print(f"i的值为{i},j的值为{j}")
print("for循环执行完毕")
i = 2
while i >= 0:
for j in range(2):
print(f"i的值为{i},j的值为{j}")
if i == 1:
break
i -= 1
print("while循环执行完毕")
5、else
else除了用于if判断,也可用于循环结束后。
语法:
for 变量 in 序列:
执行
else:
循环结束执行
while 条件真:
执行
else:
循环结束执行
示例:
for i in range(3):
print(i)
else:
print("for循环执行完毕")
print(i+1)
i = 3
while i > 0:
print(i)
i -= 1
else:
print("while循环执行完毕")
print(i)
这个用到的地方较少,正常情况不需要写else,直接写逻辑即可。
更多推荐
所有评论(0)