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

    使用 breakcontinue

  • 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
  • 优化搜索范围

  • 合理的缩小搜索范围/循环范围,可以提高程序执行效率,避免无效的循环操作。

  • 总结

    1. For 循环:适合遍历已知范围的数据。
    2. While 循环:适合在不确定停止条件时使用,条件为 False 时停止循环。
    3. 循环嵌套:可以在一个循环中嵌套另一个循环,执行复杂的操作。
    4. breakcontinue:用于控制循环流程,break 提前退出循环,continue 跳过当前循环的剩余部分。
    5. 优化循环范围:合理设计循环范围,有助于提高程序的执行效率。

    作者:无名出自哪里

    物联沃分享整理
    物联沃-IOTWORD物联网 » Datawhale-python 第六课 循环语句

    发表回复