359716482
867345912
413928675
398574126
546281739
172639548
984163257
621857394
735492861
我的代碼:
print("Enter the array:\n")
userInput = input().splitlines()
print(userInput)
我這裏的問題是,userInput
只需要在第一線的價值,但它不't 似乎取第一行後的值?
359716482
867345912
413928675
398574126
546281739
172639548
984163257
621857394
735492861
我的代碼:
print("Enter the array:\n")
userInput = input().splitlines()
print(userInput)
我這裏的問題是,userInput
只需要在第一線的價值,但它不't 似乎取第一行後的值?
每個input()
只接受一行。解決此策略:
input()
在一個循環,直到它收到一個循環,直到用戶執行CTRL-d在類UNIX操作系統,在一個空行input()
這一點引發EOFError將提高可以捕獲您可以使用文件對象的readlines()
方法:
import sys
userInput = sys.stdin.readlines()
不錯。記錄:這將需要做ctrl-D來結束輸入。 – ninjagecko
請記住,如果OP正在使用它,這將不適用於Python IDLE。 – jamylak
您可以使用生成器輕鬆創建一個。這是一個這樣的實現。注意:您可以按空白退貨或任何鍵盤中斷打出來的inputloop
>>> def multi_input():
try:
while True:
data=raw_input()
if not data: break
yield data
except KeyboardInterrupt:
return
>>> userInput = list(multi_input())
359716482
867345912
413928675
398574126
>>> userInput
['359716482', '867345912', '413928675', '398574126']
>>>
lines = []
while True:
s =input("Enter the string or press ENTER for Output: ")
if s:
lines.append(s)
else:
break;
print("OUTPUT: ")
for i in lines:
print (i)
Input:
359716482
867345912
413928675
398574126
546281739
172639548
984163257
621857394
735492861
Output:
359716482
867345912
413928675
398574126
546281739
172639548
984163257
621857394
735492861
歡迎來到Stack Overflow!感謝您的代碼片段,它可能會提供一些即時的幫助。通過展示*爲什麼*這是一個很好的解決方案,對未來的讀者會有更好的解決方案,這將爲它的教育價值提供一個合適的解釋[//大大提高](// meta.stackexchange.com/q/114762)但不完全相同的問題。請編輯您的答案以添加解釋,並指出適用的限制和假設。 –
所有的輸入可以通過粘貼直接得到顯示的輸出。 –
和開關的raw_input到(),而不是 – jdi
他使用Python 3所以'input' ** **是' raw_input'。至少我認爲他是... – jamylak
使用'print'作爲函數,所以可能是Py3。 – PaulMcG