前言:
循环中通过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)