Datawhale-python 第六课 循环语句
忍冬 – 用户 – HydroOJ
Python 循环语句总结
For 循环:用于指定范围的重复操作。
range()
:可以生成一个数字范围,用于遍历指定范围内的数字。#示例代码1 range一个参数
for i in range(5):
print(i)
0
1
2
3
4
#示例代码2 range两个参数
def sumFromMToN(m,n):
total = 0 #需注意区间为左开右闭,即(1,3)为1,2,所以在该函数种将n+1则输出为1,2,3
for x in range(m,n+1)
total+=x
return total
#示例代码3 range三个参数
defsumEverykthFromMToN(m,n,k):
total = 0
# 第三个参数为“步长” step
for x in range(m, n+1, k):
total += X
return total
sumEveryKthFromMTON(5,20,7)==(5+12+19)
我们也可以通过修改循环内部的代码来改变步长#
def sumofoddsFromMToN(m, n):
total = 0
for x in range(m, n+1):
if x% 2 == 1:
total += X
return total
#示例代码4 逆序输出
for i in range(0,10,-1):
print(i)
输出为: 9,8,7,6,5,4,3,2,1,0
下面的代码将输出二维坐标
def printcooldinates(xMax, yMax):
for xin range(1,xMax+1):
for y in range(1,yMax+1):
print(f"({x},{y},end="")
print()
def printMysterystarshape(n):
for row in range(n):
print(row, end=")
for col in range(row):
print("*”,end="")
print()
While 循环:
while
循环。while
循环会根据条件持续执行,直到条件为 False
。x = 0
while x < 5:
print(x)
x += 1
代码输出:
0
1
2
3
4
def leftmostDigit(n):
n = abs(n)
while n >= 10:
n=n//10
return n
#拿到数值n的最高位
def isMultipleof4or7(x):
return (( x % 4 ) == 0 ) or (( x % 7 ) == 0)
def nthMultipleof4or7(n):
found = 0
guess=-1
while found <= n:
guess += 1
if isMultiple0f4or7(guess):
found += 1
return guess
使用 break
和 continue
:
break
:用于提前退出循环。continue
:用于跳过当前循环的剩余部分,继续执行下一次循环。for i in range(5):
if i == 3:
break # 跳出循环
print(i)
输出为:
0
1
2
该代码输出:
for i in range(5):
if i == 3:
continue # 跳过当前循环
print(i)
输出为:
0
1
2
4
#判断是否为质数,其中通过判断是否能整除2快速判断是否为质数
def fasterIsPrime(n):
if n< 2:
return False
if n == 2:
return True
if n % 2 == 0:
return False
maxFactor = round(n**0.5)
for factor in range(3,maxFactor+1,2):
if n % factor == 0:
return False
return True
优化搜索范围:
总结:
- For 循环:适合遍历已知范围的数据。
- While 循环:适合在不确定停止条件时使用,条件为
False
时停止循环。 - 循环嵌套:可以在一个循环中嵌套另一个循环,执行复杂的操作。
break
和continue
:用于控制循环流程,break
提前退出循环,continue
跳过当前循环的剩余部分。- 优化循环范围:合理设计循环范围,有助于提高程序的执行效率。
作者:无名出自哪里