新聞中心
python中的Input()函數(shù)在輸入時(shí),遇到回車符,那么一次輸入就結(jié)束了。這不能滿足輸入多行文本并且行數(shù)也不確定的情形,當(dāng)然輸入空行也是允許的。

成都創(chuàng)新互聯(lián)專注于東平網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供東平營(yíng)銷型網(wǎng)站建設(shè),東平網(wǎng)站制作、東平網(wǎng)頁(yè)設(shè)計(jì)、東平網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)公司服務(wù),打造東平網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供東平網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
方法1:利用異常處理機(jī)制實(shí)現(xiàn)
lines=[] while True: try: lines.append(input()) except: break print(lines)
實(shí)際運(yùn)行時(shí),可以輸入多行,當(dāng)輸入最后一行并回車后,按組合鍵ctrl+D,表示EOF,即End of File、文件尾的意思。此時(shí),input()函數(shù)會(huì)遇到EOF的異常。Python的異常處理機(jī)制將捕獲到此異常,執(zhí)行except部分的語(yǔ)句,此語(yǔ)句為break,因此,立即跳出while循環(huán)。這正好滿足了我們的需要。
相關(guān)推薦:《Python教程》
例如,輸入:
12 345 3.14159回車 I am a student.回車 Hello, world!回車
在集成開發(fā)環(huán)境中運(yùn)行時(shí),請(qǐng)按ctrl+D組合鍵結(jié)束多行輸入。如果在Windows命令行下用"python 源代碼文件名.py”方式運(yùn)行時(shí),請(qǐng)按ctrl+Z組合鍵結(jié)束多行輸入。
輸出結(jié)果如下:
['12 345 3.14159', 'I am a student.', 'Hello, world!']
方法二:利用標(biāo)準(zhǔn)輸入文件對(duì)象sys.stdin的readlines()函數(shù)實(shí)現(xiàn)
因?yàn)殒I盤是標(biāo)準(zhǔn)輸入設(shè)備,計(jì)算機(jī)操作系統(tǒng)將鍵盤也是當(dāng)做文件來(lái)對(duì)待的,其實(shí)計(jì)算機(jī)操作系統(tǒng)將包括鍵盤顯示器鼠標(biāo)打印機(jī)等在內(nèi)的各種外圍設(shè)備都當(dāng)做文件來(lái)對(duì)待。Python中與鍵盤對(duì)應(yīng)的文件對(duì)象是sys.stdin,因此可以利用sys.stdin.readlines()函數(shù)來(lái)實(shí)現(xiàn)讀取多行文本,一直到遇到文件尾即EOF為止。
import sys lines=sys.stdin.readlines() print(lines)
輸入同上,
輸出如下:
['12 345 3.14159\n', 'I am a student.\n', 'Hello, world!\n']
可以看出,這種方式2與方式1的輸出結(jié)果有細(xì)微差別,每行末尾有'\n'字符(即回車符)。
新聞名稱:創(chuàng)新互聯(lián)Python教程:python如何輸入多行
URL鏈接:http://fisionsoft.com.cn/article/dhpddis.html


咨詢
建站咨詢
