Форум сайта python.su
0
Питон увидел 7 минут назад.
x = gcd_recur (spisok[0], spisok[1]) return a if b == 0 else gcd_recur (b, a % b)
def input_ (): spisok = list (raw_input('Введите числа: ')) return spisok def count (l): return len (l) def gcd_recur (a, b): return a if b == 0 else gcd_recur (b, a % b) spisok = input_ () quantity = count (spisok) def Nod (spisok, quantity): x = gcd_recur (spisok[0], spisok[1]) element = 2 for element in quantity: x = gcd_recur(x,spisok[element]) element +=1 return x Nod (spisok, quantity)
[code python][/code]
Отредактировано FishHook (Май 23, 2013 14:51:00)
Офлайн
568
Подозреваю, что а - строка. Вы ведь нигде не преобразуете введенное число в собственно число.
#Это строка raw_input('Введите числа: ')
#Это число int(raw_input('Введите числа: '))
Офлайн
0
Как тогда сделать spisok массивом элементов int, чтобы потом над ними можно было произвести операцию остатка от деления.
Если вот так
spisok = list (raw_input('Введите числа: ')) spisok = int(spisok)
int() argument must be a string or a number, not 'list'
Офлайн
31
spisok = list (raw_input('Введите числа: ')) for i in spisok: print type(i) i=int(i)
Офлайн
568
r2d2В любом учебнике по питону это есть на первых десяти страницах после оглавления
Как тогда сделать spisok массивом элементов int, чтобы потом над ними можно было произвести операцию остатка от деления.
l=["1","2","3"] l=map(int,l)
Офлайн
0
Пока без двухзначных бы разобраться.
В функцию список поступает правильно, но всё равно почему то выводится ошибка
return a if b == 0 else (b, a % b) TypeError: not all arguments converted during string formatting
Введите числа: 123 <type 'int'> <type 'int'> <type 'int'> ['1', '2', '3'] 3
Отредактировано r2d2 (Май 23, 2013 23:08:57)
Офлайн