在for循环范围中查找最大值 - Python

时间:2015-10-08 18:15:11

标签: python for-loop

我一直在研究一个小程序,它接受两个数字的输入并给出最大的公约数。我设法让程序至少打印出所有公约数,直到达到最大数,但我需要打印的是最大值。不幸的是,我似乎无法让它发挥作用。我试过通过我虽然max()但是收到了错误'' int'对象不可迭代''因此,我想知道是否有人可以帮我找到一个解决方案,允许我只打印最大值而不是所有值,而不必采用更复杂的编码方法。这是代码

def great_divisor():
m = int(raw_input("Choose a number"))
n = int(raw_input("Choose another number"))
#lowest number assigned to d
if m > n:
    d = n
else:
    d = m

for i in range(1, d + 1):

    if (n%i == 0 and m%i == 0):
        print(max(i))
return

3 个答案:

答案 0 :(得分:1)

最简单的方法是使用range(d, 0, -1)并返回您找到的第一个除数。无需使用max

答案 1 :(得分:0)

Max只能应用于可迭代的列表,例如。

您可以在列表中添加所有公约数,并获得最大值

 public class MyEffect : ShaderEffect
 {
   public MyEffect(){
     this.PixesShader = new Uri("pack://application:,,,/WpfControlLibrary1;component/MyEffect.ps");
   }
 }

答案 2 :(得分:0)

这个怎么样?

# javascript
comment.article.published_date