亲宝软件园·资讯

展开

python循环控制语句

XU Hongduo 人气:0

前言:

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

加载全部内容

相关教程
猜你喜欢
用户评论