Невозможно понять функционирование кода python - PullRequest
0 голосов
/ 03 мая 2020
def dtb(num):
    if num > 1:
        dtb(num//2)
    print(num%2,end='')

dtb(10)

Я понимаю часть рекурсии, но не могу понять остальной код. Может кто-нибудь, пожалуйста, предоставьте пошаговое объяснение. Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 03 мая 2020

Эта функция преобразует целое десятичное число в двоичное число.

// - оператор деления по полу. Например (13 // 5) вернет 2

PS. Вам нужно написать dtb (10) вместо def (10) для вызова метода tour.

0 голосов
/ 03 мая 2020

Если вас смущает часть печати, будет напечатано num mod 2 (остаток после деления на 2). End = '' означает, что python не печатает новую строку после, что это делает по умолчанию.

Что касается def (10), я предполагаю, что это опечатка. Это должен быть dtb (10), который будет вызывать рекурсивную функцию для целого числа 10.

...