2017-09-15 51 views
-1

程序接受大量輸入,例如數字或整數,如何在新行上打印每一行。例如,我輸入這個2,4,5,2,38。 程序應該像這樣在新行上顯示每一行。如何在python中的新行上打印數字

Item = input ("Enter your number") 
#user enters the following numbers 5,2,6,3,2 
#print out each number on a new line 

# output 
5 
2 
6 
3 
2 

所有保存的我一個變量。

+2

你的問題是使用幫助功能? – pvg

+1

到目前爲止您嘗試過什麼? – ronakg

+0

@ronakg好我試着將所有的數字存儲在一個變量中,並試圖將它們打印出來,但它似乎只打印出我算出的最後一個數字。 –

回答

0

通過在python中輸入print()它將移動到下一行。如果它是一個列表,你可以做

for num in list: 
    print(num) 
    print() 

你想用列表的名稱替換「列表」。

您還可以在打印功能中輸入\n以引用移至新行。

+0

默認情況下,打印輸出新行 – Vinny

+0

好吧如果ints不是字符串,並且在每次輸入完成循環之後輸入我想要的整數的整數時,它應該顯示我輸入到不同行的每個int值。 –

1

所有你需要的是一個簡單的循環,在輸入迭代並打印出來

data = raw_input('enter ints').split(',') 

for n in data: 
    if n.isdigit(): 
     print n 

注意,如果你使用的是Pyhon 3.x中,你需要使用input代替raw_input

的第一行將用戶輸入數據分配給data變量並按空間拆分項目。 (您可以改變這個'''') for循環會對該列表中的每個項目進行迭代,並檢查它是否是數字。由於列表元素是字符串,我們可以使用字符串的isdigit()方法來測試它。

>>> '5'.isdigit() 
True 
>>> '12398'.isdigit() 
True 

如果你想這樣做的另一種方式,也許用'\n'.join(data)方法,其中將加入列表元素,並用「\ n」加入他們的行列。

>>> inpu = raw_input('enter ints\n').split(',') 
>>> inpu = [c.strip() for c in inpu] 
>>> print '\n'.join(inpu) 
1 
2 
3 
4 

這實際上是更好的方式去,因爲它比for循環簡單。

+0

如果您使用Python 3.x,也可以使用'print(n)'。 –

+0

好的,沒有任何方法可以做到這一點,而不使用for循環。或者你能否詳細說明 –

+0

你只是在打印數字,而不是整數> = 10.OP需要一個以逗號分隔的整數列表。 –

0

如果數字之間用逗號隔開,你可以通過用逗號分開它們,然後由新線加入他們的行列:

>>> Item = input ("Enter your numbers: ") 
Enter your numbers: 5,2,6,3,2 
>>> Result = '\n'.join(Item.split(',')) 
>>> print(Result) 
5 
2 
6 
3 
2 
>>> 
0

如果您想打印一個逗號分隔的整數列表,一個在每一行的整數,可以這樣做:

items = input('Enter a comma-separated list of integers: ') 
print(items.replace(",", "\n")) 

實施例:

Enter a comma-separated list of integers: 1,13,5 
1 
13 
5 

可以通過接受改善 「;」而不是使用正則表達式「」和可選的空間:

import re 

items = input('Enter a comma-separated list of integers: ') 
print(re.sub(r"[,;]\s*", "\n", items)) 

例子:

Enter a comma-separated list of integers: 2, 4, 5; 2,38 
2 
4 
5 
2 
38 
0

看起來像我來不及打印黨:) 這可以爲你工作太...它包裝在一個函數理想

# assuming STDIN like: "2,4,5,2,38,42 23|26, 24| 31" 

split_by = [","," ","|"] 
i_n_stdin = input() 
for i in split_by: 
    i_n_stdin = i_n_stdin.split(i) 
    i_n_stdin = " ".join(i_n_stdin) 
    #print(i_n_stdin) 
for i in i_n_stdin.split(): 
    print(i) 
0

可以在新的線通過使用由服務定義參數爲「\ N」(對於新線),即打印(X,結束打印='\ N')

>>> x=[1,2,3,4] 
>>> for i in x: 
    print(i,end='\n') 

輸出

1 
    2 
    3 
    4 

你可以在python

>>> help(print) 

Help on built-in function print in module builtins: 

print(...) 
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) 

Prints the values to a stream, or to sys.stdout by default. 
Optional keyword arguments: 
file: a file-like object (stream); defaults to the current sys.stdout. 
sep: string inserted between values, default a space. 
end: string appended after the last value, default a newline. 
flush: whether to forcibly flush the stream. 
0

Python 3.x都有

items = input('Numbers:').split(',') # input returns a string 
[print(x) for x in items] 

的Python 2.x的

items = input('Numbers:') # input returns a tuple 
# you can not use list comprehension here in python 2, 
# cause of print is not a function 
for x in items: print x