利用while-else寻找10-20中数字的最大公约数问题

最近看到python的循环语句,其中有个例子就是“利用while-else寻找10-20中数字的最大公约数问题”,书中代码如下,实际运行时多次报错,求助各位高手,貌似缩进有问题,就是改不对啊:L
#!/usr/bin/env python
def showMaxFactor(num):
    count = num / 2
    while count > 1:
        if (num % count == 0): break
            print 'largest factor of %d is %d' % \
                (num, count)
            break
        count = count - 1
    else:
        print eachNum, 'is prime'

File "for eachNum in range(10, 21):<pyshell#0>", line 7
    print 'largest factor of %d is %d' % \
    ^
IndentationError: unexpected indent




请先 登录 后评论

6 个回答

历经传奇
代码缩进问题,在if之后已经有了 冒号 break,所以下面的print 语句应该是跟if 缩进一致的,
没有看到全部代码,还有就是eachNum 不知道是指代什么,只能帮这些,需要的话,可以帮源代码全部贴出来
请先 登录 后评论
ztruth
典型的缩进错误,仔细检查一下,统一缩进
请先 登录 后评论
吃货玲洋

拜托,能说得具体点吗?我也知道缩进有问题,就是改不对:L!对新手来说知道错误容易,要知道如何改可就难了:'(
请先 登录 后评论
肃夏

。。。不能什么问题都能说清楚的,这样吧,我教你一个方法试试,你把所有的缩进都去掉,然后重新统一进行缩进。

还有这种问题一般是在网上粘贴代码导致的
请先 登录 后评论
可小可大


按照上面指出的方法修改之后就可以运行了!eachNum应该是变量名吧?上面的代码我是完整贴出来的,下面就是修改缩进后的输出结果:
argest factor of 11 is 5
largest factor of 13 is 6
largest factor of 15 is 7
largest factor of 17 is 8
largest factor of 19 is 9

请先 登录 后评论
千四儿
同新人,
请先 登录 后评论
  • 6 关注
  • 0 收藏,608 浏览
  • 桔沫 提出于 2021-08-07 15:19

相似问题