3 回答

TA貢獻(xiàn)1799條經(jīng)驗 獲得超8個贊
在Python 3.x中raw_input(),Python 2.x的input()功能已被替換。但是,在兩種情況下,您都無法輸入多行字符串,為此,您需要從用戶行中逐行獲取輸入,然后.join()使用來輸入它們\n,或者您也可以采用多種行并使用+由運算符分隔的行將它們連接起來\n
要從用戶那里獲得多行輸入,您可以像這樣:
no_of_lines = 5
lines = ""
for i in xrange(5):
lines+=input()+"\n"
print lines
要么
lines = []
while True:
line = input()
if line:
lines.append(line)
else:
break
text = '\n'.join(lines)

TA貢獻(xiàn)1848條經(jīng)驗 獲得超2個贊
raw_input 可以正確處理EOF,因此我們可以編寫一個循環(huán),進(jìn)行讀取,直到收到用戶的EOF(Ctrl-D):
Python 3
print("Enter/Paste your content. Ctrl-D or Ctrl-Z ( windows ) to save it.")
contents = []
while True:
try:
line = input()
except EOFError:
break
contents.append(line)
Python 2
print "Enter/Paste your content. Ctrl-D or Ctrl-Z ( windows ) to save it."
contents = []
while True:
try:
line = raw_input("")
except EOFError:
break
contents.append(line)

TA貢獻(xiàn)1772條經(jīng)驗 獲得超8個贊
input(prompt) 基本上相當(dāng)于
def input(prompt):
print(prompt, end='', file=sys.stderr)
return sys.stdin.readline()
sys.stdin如果愿意,您可以直接閱讀。
lines = sys.stdin.readlines()
lines = [line for line in sys.stdin]
five_lines = list(itertools.islice(sys.stdin, 5))
前兩個要求以某種方式結(jié)束輸入,方法是到達(dá)文件末尾,或者通過用戶鍵入Control-D(或Windows中的Control-Z)來指示結(jié)束。在從文件或從終端/鍵盤讀取了五行之后,最后一行將返回。
添加回答
舉報