Как вывести остатки числа(ввод пользователя) при делении на 2 на каждой итерации

#python-3.x

Вопрос:

Я пытаюсь вывести остаток числа(userInput) при делении на 2 на каждой итерации в Python. У меня есть аналогичный код на C, который выглядит так:

 #include <stdio.h>
#include <stdlib.h>

main()
{
    int i;
    printf("Enter a number: ");
    scanf("%d",amp;i);

    for(i=i; i <= 1000; i = i/2){
        if (i==0){
            break;
        }
        printf("%dn",i%2);

    }
    system("pause");
}
 

Комментарии:

1. Постарайтесь быть более ясным. Чего именно вы пытаетесь достичь? код C, который вы опубликовали, каждый раз делит число на 2, а затем получает напоминание о результате. Например, если пользовательский ввод равен 56, он будет напечатан: (56%2) -> 0, (28%2) ->> 0, (14%2) ->>> 0 (7%2) ->>>> 1 .. и так далее.

2. Да, могу ли я использовать ту же логику в python. Я пытался, но, похоже, это невозможно. У меня есть такой же код на JAVA, как этот: номер открытого класса{ public static void main(String[]args){ для ( int i =64; i

Ответ №1:

Как насчет чего-нибудь вроде этого:

 user_number = int(input('Please enter a numbern'))

while (user_number > 1):
    print('{}%2 = {}'.format(user_number, user_number % 2))
    user_number = user_number / 2

 

Пожалуйста, поправьте меня, если я неправильно понял назначение кода.

Комментарии:

1. Я бы также предложил цикл while в вашем коде на языке Си. Как вы можете видеть, я также добавил дружественный шрифт.

2. Да, я обязательно постараюсь.