簡體   English   中英

如何在 python 的新行上打印數字而不用逗號分隔參數?

[英]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)

參見: 將單個數字變成單個數字 Python

您還應該考慮負數和 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM