Python3中的多行輸入問題
python3的多行輸入問題
因為在OJ上做編程,要求標準輸入,特別是多行輸入。特意查了資料,自己驗證了可行性。
if __name__ == "__main__": strList = [] for line in sys.stdin: #當沒有接受到輸入結(jié)束信號就一直遍歷每一行 tempStr = line.split()#對字符串利用空字符進行切片 strList.extend(tempStr)#把每行的字符串合成到列表
Q1:系統(tǒng)如何判斷輸入結(jié)束?
A:按下?lián)Q行鍵然后Ctrl+d結(jié)束。
Q2:split()的作用?
A:str.split(str="", num=string.count(str)).
split()
通過指定分隔符對字符串進行切片,并返回切片結(jié)果。str
-- 分隔符,默認為所有的空字符,包括空格、換行(\n)、制表符(\t)等。num
-- 分割次數(shù)。
Q3:為什么選擇list.extend()而不是list.append(),這兩者有何區(qū)別?
A:extend()是將新對象的內(nèi)容添加到列表,append()是將新對象整體添加到列表。
如下圖:
list1 = [1, 2, 3] list2 = [4, 5, 6] list1.append(list2)
輸出是:
list1 = [1, 2, 3] list2 = [4, 5, 6] list1.extend(list2)
輸出是:
所以看程序的需求選擇。
python實現(xiàn)多行輸入
1.通過try...except實現(xiàn)
a = [] while True: ? ? try: ? ? ? ? a.append(input()) ? ? except EOFError: ? ? ? ? print(a) ? ? ? ? break
2.通過sys.stdin實現(xiàn)
import sys for line in sys.stdin: ? ? print(line) ? ? ? # line就是每行的內(nèi)容
3.輸入結(jié)束方式
windows環(huán)境下:ctrl+D
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python3.6筆記之將程序運行結(jié)果輸出到文件的方法
下面小編就為大家分享一篇Python3.6筆記之將程序運行結(jié)果輸出到文件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04將pandas.dataframe的數(shù)據(jù)寫入到文件中的方法
今天小編就為大家分享一篇將pandas.dataframe的數(shù)據(jù)寫入到文件中的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12Python OpenCV利用筆記本攝像頭實現(xiàn)人臉檢測
這篇文章主要為大家詳細介紹了Python OpenCV利用筆記本攝像頭實現(xiàn)人臉檢測,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-04-04