玩蛇网提供最新Python编程技术信息以及Python资源下载!

关于循环计算顺序的问题while if else是如何工作的

def showMaxFactor(num):

count=num//2
while count>1:
    if num % count==0:
        print('%d最大的约数是%d'%(num,count))
        break
    count-=1
else:
    print('%d是素数!'%num)

num=int(input('请输入一个数:'))
showMaxFactor(num)
请输入一个数:9
9最大的约数是3

运行过程:count=9//2=4>1,判断9%4=1!=0. 所以count=4-1 在循环while吗

是这样的吗

对啊,除非你上面就break了或者count>1,不然肯定还是在while循环里的,另外楼上说的语法哈哈哈

运行过程理解的是对的,但是代码有点问题啊。
根据python代码的缩进规则,最后一个else不能和if匹配啊。可以这样写:

while count>1:
    if num % count==0:
        print('%d最大的约数是%d'%(num,count))
        break
    count-=1
if count == 1:
    print('%d是素数!'%num)

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd14041.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月21日 - 22时20分23秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules