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


def showMaxFactor(num):

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

编橙之家文章,

评论关闭