2015-08-11 4 views
-4

Я пытаюсь закодировать проблему в python. Разделить целое число последовательно на 10 до момента < 10, т. Е. Больше не делится на 10. Вот мой код - я застрял, пожалуйста, помогите!Рекурсивное деление на 10 в python-2.7

def recurDiv(N): 
    ''' 
    N: a non-negative integer 
    ''' 
    # Your code here 
    Q=N/10 
    R=N%10 
    if Q<=10: 
     return Q 
    else: 
     Q=recurDiv(N/10)*(N/10)**-1 
     R=N%10 
     return Q 
+3

Добро пожаловать в переполнение стека! Вопреки распространенному мнению, Stack Overflow не является сервисом отладки. Вам нужно сделать некоторые работы самостоятельно. Например, вам нужно сообщить нам, что должен делать ваш код, что вы ожидаете, и где, по вашему мнению, может возникнуть проблема. Также см. [Есть ли законные вопросы «исправить мой код»?] (Http://meta.stackoverflow.com/q/253787) и связанный [Как отлаживать небольшие программы] (http://ericlippert.com/2014/ 03/05/how-to-debug-small-programs /) сообщение в блоге. –

ответ

0

Вы должны работать над выяснением ваши вопросы в будущем, но я думаю, что вы ищете это:

def recurDiv(N): 
N/=10 
R=N%10 
if N<10: 
    return N 
else: 
    return recurDiv(N) 

Но если вы абсолютно не должны делать это рекурсивно вы можете получить Такой же результат с этим:

def thing(N): 
    print(str(N)[0]) 

хотя вы можете положить что-то, чтобы вызвать ошибку, если N не является целым числом или с плавающей точкой.

+0

Спасибо, мини-тотализатор. Я выполняю упражнение, чтобы вычислить сумму цифр числа N, используя код, который вы отправили, например. 126/10 = 12, 126% 10 = 6. Сумма цифр равна 1 + 2 + 6 = 9. Это нужно сделать путем рекурсии. Любая помощь будет оценена - Спасибо. –

+0

У меня есть рабочий бит кода, который делает именно это, но, видя, что вы пытаетесь изучить python, вы должны попробовать это самостоятельно, но это значит, что я могу помочь. Также убедитесь, что вы нашли время, чтобы прочитать [тур] (http://stackoverflow.com/tour). –

+0

Я пробовал это, но он не добавляет остатка. Мне нужно весь остаток как сумма цифр = остаток всего: –

Смежные вопросы