[英]How to print numbers on a new line in python without seperating parameters by commas?
我正在嘗試創建一個 function ,其中 python 必須在不同的行中打印數字的每個單獨的數字。 我必須以數學方式處理數字和數字而不是字符串。 然而,當我最初接近它時,我使用 string 方法接近它以了解從哪里開始。 但是,僅當用戶輸入以逗號分隔的組號時,我所做的代碼才可以正常工作。 例如,我希望用戶輸入; (我的號碼(4523)):
4
5
2
3
這是我一直在處理的代碼:
def my_numbers():
item = input('enter num:')
result='\n'.join(item.split(','))
print(result)
my_numbers()
非字符串方法:
import math
def my_numbers():
item = int(input('enter num: '))
digits = [(item//(10**i))%10 for i in range(math.ceil(math.log(item, 10)), -1, -1)][bool(math.log(item,10)%1):]
for d in digits:
print(d)
您還應該考慮負數和 0。遺憾的是, math.log
不適用於此類輸入。 另一種方法是使用 while 循環。
def my_numbers():
item = int(input('enter num:'))
result = []
if item == 0:
print(item)
elif item < 0:
item = -item
print('-')
while item > 0:
# Extract last digit
digit = item % 10
result.insert(0, digit)
# Remove last digit
item = item // 10
for digit in result:
print(digit)
my_numbers()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.