我一直在研究一个小程序,它接受两个数字的输入并给出最大的公约数。我设法让程序至少打印出所有公约数,直到达到最大数,但我需要打印的是最大值。不幸的是,我似乎无法让它发挥作用。我试过通过我虽然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
答案 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