li152556543 发表于 2020-3-24 16:19:22

关于 break,确认一件事

本帖最后由 li152556543 于 2020-3-24 16:21 编辑

n = int(input('请输入一个整数:'))
print(n,"=",end="",sep="")
while n > 1:
    for i in range(2, n + 1):
      if n % i == 0:
            n = int(n / i)
            if n == 1:
                print(i, end='')
            else:
                print(i,'*', end='',sep="")
                break


break是不是跳出了for循环,但当n>1时,while循环还在继续,for循环重新从2开始


n = int(input('请输入一个整数:'))
print(n,"=",end="",sep="")
while n > 1:
    for i in range(2, n + 1):
      if n % i == 0:
            n = int(n / i)
            if n == 1:
                print(i, end='')
            else:
                print(i,'*', end='',sep="")
            break

这两段代码break位置不一样,但结果是一样的,哪种写法更加严谨

BngThea 发表于 2020-3-24 16:20:52

你的理解是对的
break只跳出一层循环
每次while循环开始for都是从2开始的

qiuyouzhi 发表于 2020-3-24 16:21:26

对的,break只跳出一层循环

li152556543 发表于 2020-3-24 16:21:39

BngThea 发表于 2020-3-24 16:20
你的理解是对的
break只跳出一层循环
每次while循环开始for都是从2开始的

老铁回复好快哦{:5_109:}

BngThea 发表于 2020-3-24 16:25:14

li152556543 发表于 2020-3-24 16:21
老铁回复好快哦


两端代码要看你想做什么才能判断谁合理

一个账号 发表于 2020-3-24 16:52:09

break 只跳出当前循环
页: [1]
查看完整版本: 关于 break,确认一件事