我正在嘗試制作一個程式,該程式在一行中輸入隨機整數,并使用 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
uj5u.com熱心網友回復:
發現了問題。您會看到,您正在嘗試將浮點數 i 與整數進行比較。因此,即使您的控制臺列印出 0,i 的實際值也不是 0。
嘗試這個:
i = int(input())
while int(i) != 0:
a = int(i) % 10
print(a)
i = int(i) / 10
uj5u.com熱心網友回復:
在這里,您可以只使用條件陳述句:
i = int(input())
while int(i) != 0:
a = int(i) % 10
if a:
print(a)
i = int(i) / 10
uj5u.com熱心網友回復:
代替普通的除法運算子 (/),嘗試在最后一行使用地板除法 (//) 以避免出現小數。
i = int(input())
while i != 0:
a = int(i) % 10
print(a)
i = int(i) //10
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/339620.html
上一篇:限制perl中的for回圈
