python练习之循环控制语句 break 与 continue
前言:
循环中通过break语句会立刻终止并跳出循环语句。break就像是终止按键,不管执行到哪一步,只要遇到break,不管什么后续步骤,直接跳出当前循环。
例题1:计算阶乘
例1:计算43的阶乘,break方案见方法四。
方法一:通过math库
import math value = math.factorial(43) print(value)
方法二:通过递归
def getRes(n): if n==1: return 1 else: return n * getRes(n-1) if __name__ == '__main__': result = getRes(43) print(result)
方法三可以通过 for 循环
result=1 for i in range(1,44): result*=i print(result)
方法四:通过 while-break 循环
num=43 result=1 while 1: if num==1: break result=result*num num=num-1 print(result)
例题2:质数
例题2.1:61是质数
# 用break测试质数 def prime(num): for i in range(2,num): if num%i==0: print("不是质数") break else: print("是质数") print("测试结束") if __name__ == '__main__': num = 61 prime(num)
例题2.2:列出1-100中所有的质数
# 用break测试质数 prime_num = [] def prime(num): if num!=1: for i in range(2,num): if num%i==0: break else: return num if __name__ == '__main__': for j in range(1,100): value = prime(j) if value!=None: prime_num.append(value) print(prime_num)
continue
continue与break不同的是,在程序执行到continue时,会直接回到循环开始处继续下一个循环,而不退出循环。
continue跳过的是continue后面的步骤,然后继续新的下一个循环。
数列处理
处理数列:奇数+2,偶数加1:
a = [1,2,4,5,7,8,4,1,34,32,56,77,1] b = [] for i in a: if i%2==0: i=i+1 else: i=i+2 b.append(i) print(b)
a = [1,2,4,5,7,8,4,1,34,32,56,77,1] b = [] for i in a: if i%2==0: # 如果是偶数 i = i+1 b.append(i) continue i=i+2 b.append(i) print(b)
赞 (0)