Я хочу рассчитать gcd для списка чисел. Но я не знаю, что не так с моим кодом.Python gcd для списка
A = [12, 24, 27, 30, 36]
def Greatest_Common_Divisor(A):
for c in A:
while int(c) > 0:
if int(c) > 12:
c = int(c) % 12
else:
return 12 % int(c)
print Greatest_Common_Divisor(A)
Вопросы, ищущих отладки помощи () должны включать в себя желаемое поведение, конкретную проблему или ошибку и кратчайший код, необходимый для воспроизведения в самом вопросе. Вопросы без четкого описания проблемы не полезны другим читателям. – thefourtheye
[Этот вопрос] (http://stackoverflow.com/questions/11175131/code-for-greatest-common-divisor-in-python) показывает, что он уже реализован в стандартной библиотеке. Просто используйте 'from fractionactions import gcd'. –
Кроме того, как только выполняется 'return 12% int (c)' statement, функция заканчивается. Вы имели в виду, возможно, использовать [генераторы] (http://www.jeffknupp.com/blog/2013/04/07/improve-your-python-yield-and-generators-explained/)? –