在一行中输入一个随机整数,然后使用 python 中的循环在单独的一行中从右到左打印它

Input a random integer in one line then print it from right to left in a separate line using loops in python

我正在尝试制作一个程序,在一行中输入随机整数,然后使用 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

找到问题了。你看,你正在尝试将浮点数 i 与整数进行比较。因此,即使你的控制台打印出0,i的实际值也不是0。

试试这个:

i = int(input())

while int(i) != 0:
  a = int(i) % 10
  print(a)
  i = int(i) / 10

这里你可以只使用条件语句:

i = int(input())

while int(i) != 0:
  a = int(i) % 10
  if a:
     print(a)
  i = int(i) / 10

尝试在最后一行使用底除法 (//) 来避免出现小数,而不是正常的除法运算符 (/)。

i = int(input())

while i != 0:
  a = int(i) % 10
  print(a)
  i = int(i) //10