欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python輸入多行的方法總結(jié)

 更新時(shí)間:2024年04月11日 09:21:05   作者:hakesashou  
Python中的Input()函數(shù)在輸入時(shí),遇到回車符,那么一次輸入就結(jié)束了,這不能滿足輸入多行文本并且行數(shù)也不確定的情形,當(dāng)然輸入空行也是允許的,本文給大家總結(jié)了python輸入多行的方法,需要的朋友可以參考下

一、概述

在Python里,我們有時(shí)候會(huì)做需要多行輸出的程序。

例如:

1、點(diǎn)餐系統(tǒng) 不停地問:你要點(diǎn)什么食物?

2、文本編輯 不停地輸入文字(僅限IDLE等Python自帶編輯器 )

我們Python中有一種輸入語句 : input

但是,它只能單行輸入

所以呢,我們就要通過Python其他語句來實(shí)現(xiàn)多行輸入

二、代碼部分

1、已知行數(shù)多行輸出

我們現(xiàn)在在已知行數(shù)的情況下多行輸入,就很好辦。
首先我們要獲取行數(shù):

lines = int(input("請(qǐng)輸入您要輸入的行數(shù)"))

之后就第一行、第二行、第三行……第n行這樣輸入就行了。我們可以用for循環(huán)解決。

for i in range(lines):
    text += input("輸入內(nèi)容") + '\n'    #引入一個(gè)text變量儲(chǔ)存數(shù)據(jù)  

最后的完整代碼:

text = ''
lines = int(input("請(qǐng)輸入您要輸入的行數(shù)"))
for i in range(lines):
    text += input("輸入內(nèi)容") + '\n'
print(text)

輸出:

輸出內(nèi)容

2、未知行數(shù)多行輸出

當(dāng)我們?cè)谳斎攵嘈形谋镜臅r(shí)候,因?yàn)槲覀儾恢酪斎攵嗌傩校匀绻侔匆阎袛?shù)多行輸入的方法的話,有可能行數(shù)就會(huì)輸少了。所以,未知行數(shù)多行輸入的方法的重要性自然而然地也就出來了。

未知行數(shù)多行輸入需要有一個(gè)終止標(biāo)志,比如說輸入“stop”就終止;輸入“停”就終止;一換行就終止……這樣才可以讓程序知道:嗯,寫完了。
這次我們使用換行來表示終止。
首先,我們需要一個(gè)提示語句,在input()語句中我們寫在括號(hào)里,這次我們直接用print語句輸出。

print("開始寫文章")

然后,因?yàn)槲覀円煌5刈屗斎?,所以要用一個(gè)死循環(huán)。再不停執(zhí)行input語句。注意,因?yàn)橐煌]斎雰?nèi)容,所以input語句中必須為空,如果填上輸出語句,程序?qū)⒉煌]敵鎏崾菊Z。而提示語因?yàn)橹惠敵鲆槐榫蛪蛄耍晕覀冊(cè)谇懊娴拇a需要提前用print語句輸出出來。 之后再加個(gè)判斷,如果輸入的內(nèi)容為空,則用break語句跳出循環(huán)。

while True:
    line_text = input()
    if line_text == '':
    	break
    text += line_text + '\n'

最后的完整代碼:

text = ''
line_text = ''

print("開始寫文章")
while True:
    line_text = input()
    if line_text == '':
    	break
    text += line_text + '\n'
print(text)

輸出:

輸出內(nèi)容

三、拓展

1、點(diǎn)餐系統(tǒng)

def add_food(food_dict):
    
    add_foods = []
    money = 0
    print_i = 0
    foods = food_dict.keys()
    
    for i in food_dict:
        print_i += 1
        print("%d、%s%s元" % (print_i, i, food_dict[i]))

    while True:
        if len(add_foods) == 0:
            want = input("你想要食物")
            if want not in foods:
                print("沒有這個(gè)食物")
        elif len(add_foods) != 0:
            want = input("還要食物輸入食物名稱,不要就輸入除食物名稱外任意字符。你想要")
            if want not in foods:
                break
        for k in foods:
            if want == k:
                add_foods.append(want)
                money += food_dict[k]
    print("總金額:%d" % money)
    return money, add_foods

foods = {"香辣無骨雞爪":5,
         "老八秘制小漢堡":10,
         "絲襪奶茶":5,
         "狗澆尿":7,
         "王致和臭豆腐":7,
         "鯡魚罐頭":10}

money, food_list = add_food(foods)

print("你點(diǎn)了", end = '')
for food in food_list:
    if food_list.index(food) == len(food_list) - 1:
        print(food + '。')
    else:
        print(food + '、', end = '')

輸出:

在這里插入圖片描述

2、文本編輯

import os
file_name = ''
replace = ''

def add_diary(name):

    input_text = ''
    print("開始寫日記:")
    while True:
        text = input()
        if len(text) == 0:
            break
        input_text += text + '\n'

    with open(name, 'w') as f:
        f.write(input_text)
        f.close()

while file_name == '':

    file_name = input("輸入一個(gè)你想要的文件名")
    if os.path.isfile(file_name + ".txt") == True:
        replace = input("文件夾中有此文件,是否替換?")
        if replace == '否':
            file_name = ''

add_diary(file_name + '.txt')
print(open(file_name + '.txt', 'r').read())

輸出:

在這里插入圖片描述

其他方法:

方法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部分的語句,此語句為break,因此,立即跳出while循環(huán)。這正好滿足了我們的需要。

例如,輸入:

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)做文件來對(duì)待的,其實(shí)計(jì)算機(jī)操作系統(tǒng)將包括鍵盤顯示器鼠標(biāo)打印機(jī)等在內(nèi)的各種外圍設(shè)備都當(dāng)做文件來對(duì)待。Python中與鍵盤對(duì)應(yīng)的文件對(duì)象是sys.stdin,因此可以利用sys.stdin.readlines()函數(shù)來實(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'字符(即回車符)。

以上就是python輸入多行的方法總結(jié)的詳細(xì)內(nèi)容,更多關(guān)于python輸入多行的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python GUI實(shí)現(xiàn)小球滿屏亂跑效果

    python GUI實(shí)現(xiàn)小球滿屏亂跑效果

    這篇文章主要為大家詳細(xì)介紹了python GUI實(shí)現(xiàn)小球滿屏亂跑效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • Python 更快進(jìn)行探索性數(shù)據(jù)分析的四個(gè)方法

    Python 更快進(jìn)行探索性數(shù)據(jù)分析的四個(gè)方法

    今天我給大家分享幾種更快的探索性數(shù)據(jù)分析方法,它們可以進(jìn)一步加速 EDA。 我們以一個(gè)學(xué)生考試成績的例子,創(chuàng)建一個(gè)如下所示的 DataFrame 并繼續(xù)操作。歡迎收藏學(xué)習(xí),喜歡點(diǎn)贊支持
    2021-11-11
  • python機(jī)器學(xué)習(xí)庫常用匯總

    python機(jī)器學(xué)習(xí)庫常用匯總

    這篇文章主要為大家匯總了常用python機(jī)器學(xué)習(xí)庫,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Python使用Tkinter實(shí)現(xiàn)轉(zhuǎn)盤抽獎(jiǎng)器的步驟詳解

    Python使用Tkinter實(shí)現(xiàn)轉(zhuǎn)盤抽獎(jiǎng)器的步驟詳解

    這篇文章主要介紹了Python使用Tkinter實(shí)現(xiàn)轉(zhuǎn)盤抽獎(jiǎng)器,,本文分場景通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • pytorch中tensor轉(zhuǎn)換為float的實(shí)現(xiàn)示例

    pytorch中tensor轉(zhuǎn)換為float的實(shí)現(xiàn)示例

    本文主要介紹了pytorch中tensor轉(zhuǎn)換為float,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • python一行代碼就能實(shí)現(xiàn)數(shù)據(jù)分析的pandas-profiling庫

    python一行代碼就能實(shí)現(xiàn)數(shù)據(jù)分析的pandas-profiling庫

    這篇文章主要為大家介紹了python一行代碼就能實(shí)現(xiàn)數(shù)據(jù)分析的pandas-profiling庫,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Python結(jié)合百度語音識(shí)別實(shí)現(xiàn)實(shí)時(shí)翻譯軟件的實(shí)現(xiàn)

    Python結(jié)合百度語音識(shí)別實(shí)現(xiàn)實(shí)時(shí)翻譯軟件的實(shí)現(xiàn)

    這篇文章主要介紹了Python結(jié)合百度語音識(shí)別實(shí)現(xiàn)實(shí)時(shí)翻譯軟件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 詳細(xì)分析Python可變對(duì)象和不可變對(duì)象

    詳細(xì)分析Python可變對(duì)象和不可變對(duì)象

    這篇文章主要介紹了Python可變對(duì)象和不可變對(duì)象的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • 詳解重置Django migration的常見方式

    詳解重置Django migration的常見方式

    這篇文章主要介紹了詳解重置Django migration的常見方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • PyTorch環(huán)境安裝的圖文教程

    PyTorch環(huán)境安裝的圖文教程

    本文主要介紹了PyTorch環(huán)境安裝的圖文教程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04

最新評(píng)論