学习-Python循环结构之break之判断素数

任务描述

素数是指在大于 1 的自然数中,除了 1 和它本身以外不再有其他因数的自然数。

本关任务:判断给定的整数是否是素数。
相关知识

想要完成本关任务,我们可以直接使用 while 循环。本关介绍的是 break 语句,break 语句可以提前结束循环,当循环达到我们的目的时,可以很大程度的提高代码的执行效率。
break 语句

在之前学习 while 循环时,如果我们在执行语句中不改变表达式的结果,那么代码将进入无限循环;若是我们无法在执行语句中改变表达式结果呢?这时我们就可以使用 break 语句。break 语句是用于结束当前循环。

假设老师想求一个班上 5 名同学的平均成绩,分数都是通过 input 函数获取,分数的取值范围为 0-100,假设老师输入时不小心输入了一个超出范围的值,这时,我们就可以通过 break 语句来结束循环。

num = 0
sum_score = 0
while num < 5:
    score = int(input())     # 每循环一次就输入一个值
    if score < 0 or score > 100:     # 如果输入的分数小于0或大于100就退出循环
        print("输入的数据不合法,请重新输入")
        break
    sum_score += score
    if num == 4:     # num=4的时候表示分数都输入完成,可以计算平均分
        mean_value = sum_score/5
        print("平均成绩为",mean_value)
    num += 1

输入数据1:

50
66
906
100
88

执行结果1:

输入的数据不合法,请重新输入

输入数据2:

50
66
90
100
88

执行结果2:

平均成绩为 78.8

当发生循环嵌套时,break 语句只能结束当前循环。

num = 1
while num < 4:
    print("第一次循环")
    # 正常情况下,表达式为True,第二层循环会无限循环,但是break语句让第二层循环只执行了一次
    while True:
        print("第二层循环")
        break
    num += 1

执行结果:

第一次循环
第二层循环
第一次循环
第二层循环
第一次循环
第二层循环

通过结果可以得知,break 每次都是结束当前的第二次循环,并没有结束它的上一级循环。

for 循环中也可以使用 break 语句,它也只能结束当前的 for 循环。

for x in range(5):
    if x > 2:
        break
    print(x)

执行结果:

0
1
2`
n = int(input())

if n < 2 and n > 0 :           #判断是否大于1的整数,且1不是素数
    print("不是素数")

elif n > 2:
    for i in range(2,n):
        if n % i == 0:    #判断2——i是否有能被整除
            print("不是素数")
            break
    else:
        print("是素数")
else :
    if n==0:
        print ('输入数据不合法')

     
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值