Введите случайное целое число в одну строку, а затем выведите его справа налево в отдельной строке, используя циклы в python

#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