#python #loops #while-loop
Вопрос:
Я пытаюсь создать программу, которая вводит случайные целые числа в одну строку и выводит их все цифры в отдельной строке справа налево, используя циклы while. Но когда я пытаюсь выполнить свой код, он всегда добавляет ноль внизу. Как я могу его удалить?
Вот мой код:
i = int(input()) while i != 0: a = int(i) % 10 print(a) i = int(i) / 10
вход:
123
выход:
3 2 1 0 #NEED TO REMOVE ZERO
Комментарии:
1. Если вы также напечатаете «я», вы сможете увидеть, что происходит не так
Ответ №1:
нашел проблему. Видите ли, вы пытаетесь сравнить значение с плавающей точкой i с целым числом. Поэтому, даже если ваша консоль выводит 0, фактическое значение i не равно 0.
Попробуй это:
i = int(input()) while int(i) != 0: a = int(i) % 10 print(a) i = int(i) / 10
Ответ №2:
Здесь вы можете просто использовать условный оператор:
i = int(input()) while int(i) != 0: a = int(i) % 10 if a: print(a) i = int(i) / 10
Ответ №3:
Вместо обычного оператора деления (/) попробуйте использовать деление на этаж (//) в последней строке, чтобы избежать десятичных знаков.
i = int(input()) while i != 0: a = int(i) % 10 print(a) i = int(i) //10