内容标题23

  • <tr id='Rn47PJ'><strong id='Rn47PJ'></strong><small id='Rn47PJ'></small><button id='Rn47PJ'></button><li id='Rn47PJ'><noscript id='Rn47PJ'><big id='Rn47PJ'></big><dt id='Rn47PJ'></dt></noscript></li></tr><ol id='Rn47PJ'><option id='Rn47PJ'><table id='Rn47PJ'><blockquote id='Rn47PJ'><tbody id='Rn47PJ'></tbody></blockquote></table></option></ol><u id='Rn47PJ'></u><kbd id='Rn47PJ'><kbd id='Rn47PJ'></kbd></kbd>

    <code id='Rn47PJ'><strong id='Rn47PJ'></strong></code>

    <fieldset id='Rn47PJ'></fieldset>
          <span id='Rn47PJ'></span>

              <ins id='Rn47PJ'></ins>
              <acronym id='Rn47PJ'><em id='Rn47PJ'></em><td id='Rn47PJ'><div id='Rn47PJ'></div></td></acronym><address id='Rn47PJ'><big id='Rn47PJ'><big id='Rn47PJ'></big><legend id='Rn47PJ'></legend></big></address>

              <i id='Rn47PJ'><div id='Rn47PJ'><ins id='Rn47PJ'></ins></div></i>
              <i id='Rn47PJ'></i>
            1. <dl id='Rn47PJ'></dl>
              1. <blockquote id='Rn47PJ'><q id='Rn47PJ'><noscript id='Rn47PJ'></noscript><dt id='Rn47PJ'></dt></q></blockquote><noframes id='Rn47PJ'><i id='Rn47PJ'></i>

                基礎▼代謝率計算/基礎代謝鼻青脸肿率計算(3)

                去社區提問

                簡介:本節課我們將學習更多字符串的相關操作,完成帶〓單位的信息輸出。

                案例描述

                歡迎來到今天的課堂~這節㊣課讓我們一起學習基礎代謝对手率計算程序的3.0版本。

                本節課要優化程序輸入和輸出功能:

                之前的2.0版本中,用戶的性別、體重、身高、年齡這些信息需要用四行input()語句來輸入,可不可以優化為只用一行ξ 就實現所有信息的輸入呢?

                在新的版本中,還希望輸出時,能夠把用戶的信息和計算出的基礎代謝率打印ぷ出來,並且輸出結果是帶有單位的。

                下面就讓我們來分析和實╳現這兩個新功能吧。

                案例分析

                在寫程序之前,我們需要先了解一些有關字符串操▅作的補师弟充知識。

                字符串分割

                如果在一行︼中輸入用戶所有信息(性別、體重、身高、年齡),那麽呈現出的形式應該是這樣:

                ‘男 70 180 28’

                或者是這樣的:

                ‘男,70,180,28’

                不論哪種形式,輸入的結果都是一個整體的字符串,還需要對其進行这群人中不少拆分才能得到各項◤》數值。

                關於字符串的分割的實現,我們將學★習一個新的知識:str.split()方法。

                str.split()方法會根據規則來完成字符串的分割,括號中寫入我們指定的分割條件。

                當踪迹想要以逗號’,’作為標誌分割字符串時,只需要在str.split()的括號中寫入逗號:

                遇到字符串中的▅逗號時,程序就會自動完成分割操作。

                同樣地,如果數據的輸入形式是’男 70 180 28’,就要以空格來將它們分隔開,下面這行代碼可以幫助我們完成字符串分割:

                1. str.split(' ')

                註意,引號中不是無︻內容的,而是手動敲入了一個空格鍵哦~

                掌握了上面的知識,對於數據輸入的優化工作就變得非常簡單啦。

                先來打印一行提示語句直觉,提示用〒戶在一行內輸入數據,並且用空格來分隔:

                1. print('請輸入以下△數據,用Ψ 空格分隔')

                下面再用我們非常熟悉的input()函數輸入:

                1. print('請輸入打手以下數據,用空格分时候隔')
                2. info=input('性別 體重(kg) 身高(cm) 年齡:')

                接下來就●要對用戶輸入的信息進行分割,請你結』合剛才學習的新知識,先來思考這行代碼應該如何書寫。

                揭曉答●案時間到!用戶輸入的一行字符『串存儲在變量info中,並且裏面的內容是用空格分隔開來的,因此我們只需要下面這行代碼就能完成字符串分割:

                1. info.split(' ')

                到這裏我@們又會面臨新的嚴肅的問題,字符串分割後的結果是什麽形式的?我們又應該如何把分割得到的內容分別提取出來呢?

                還記得上節課學習到的type()函數嗎,它的功能就是查看變♀量的類型。我們可以先用它查看∏一下分割後變量的類型,再來思考如何從中提取內容。

                這裏插播一條消ξ 息,由於str.split()方法只是執行了字符串分割的操□作,分割後的結果還要記得用一個新的變量來接▲收和存儲。

                定義變量cut_info存儲結果,打印出它的類型:

                代碼練習:

                編程區

                1. info = '男 70 180 28'
                2. cut_info = info.split(' ')
                3. print(type(cut_info))

                終端區

                從上面的結果◣可以看出,分割後的字符串是ㄨ一個list,也就是列表類型。在後續的課程中我們會詳細介紹和學習有關列表的知識內容,這裏你只需要了解列表是Python中一種用於存放數據的容器。

                並且↓在列表list中,數據是有序存放的。

                既然元素在列↘表中有順序,我們當然就可以利用每個元素在列表中的序號取出對應內容了。

                和之前學習過的字而当小萝莉为量身编程了个安全程序后符串索引方法一樣,列表中元素的索引值也是從0開始的。

                因此獲取第一個元素,就可以使用cut_info[0],第二個元素:cut_info[1],以此類推。

                這樣一來,我們就能準確地把切割後字符串中的每項內容提取出來了,依然№把它們存儲在4個變量中:

                1. #在一〖行內輸入信息
                2. print('請輸入以下數據,用空格分隔')
                3. info=input('性別 體重(kg) 身高(cm) 年齡:')
                4. #分割字符串
                5. cut_info=info.split(' ')
                6. #從列表中提取分割後的字符串
                7. gender = cut_info[0]
                8. weight = cut_info[1]
                9. height = cut_info[2]
                10. age = cut_info[3]

                由於分割後的內◇容依然是以一個個更為簡短的字符串存儲在列表中的,別忘記對它們進行類型╱轉換:

                1. #在一行內輸入信息
                2. print('請輸入以下數據,用空格分隔')
                3. info=input('性別 體重(kg) 身高(cm) 年齡:')
                4. #分割字符串
                5. cut_info=info.split(' ')
                6. #從列表提取分割後的字符串並轉⌒ 換類型
                7. gender = cut_info[0]
                8. weight = float(cut_info[1])
                9. height = float(cut_info[2])
                10. age = int(cut_info[3])

                接下來就可以用上面的這段代碼替換掉之前程序中的輸入功能了。

                1. y_or_no = input('是否選擇退出?(y/n):')
                2. while y_or_no != 'y':
                3. #在一行內輸入信息
                4. print('請輸入你给我拿命来吧以下信息,用空格分隔')
                5. info = input('性別 體重(kg) 身高(cm) 年齡:')
                6. #分割字符串
                7. str_list = info.split(' ')
                8. #從列表提取分割』後的字符串並轉換類型
                9. gender = str_list[0]
                10. weight = float(str_list[1])
                11. height = float(str_list[2])
                12. age = int(str_list[3])
                13. #計算BMR值
                14. if gender == '男':
                15. BMR=13.7*weight+5.0*height-6.8*age+66
                16. elif gender == '女':
                17. BMR=9.7*weight+1.8*height-4.7*age+665
                18. else:
                19. BMR=-1
                20. #輸出結果
                21. if BMR == -1:
                22. print('輸入的〗性別有誤')
                23. else:
                24. print('您的BMR值是:',BMR)
                25. y_or_no = input('是否選擇退出?(y/n):')

                解決完輸入過程的優化工作,其實我們就已經成功了一大半~下面〓關於輸出的改進內容會非常簡單,快跟上我的思路繼續來學習吧。

                如果想在打印結果時,得到下面這樣帶單位的輸出效果:

                您的身高:180cm

                您的BMR值:1730大卡

                根據之前學過的知識,用逗唯一一次匆匆一瞥还是自己坐在了李冰清號連接幾個內容,可以完成上述要求:

                1. height = 180
                2. print('您的身高:',height,'大卡')

                但當我們需要打印串聯的語句變得更多,一個個使用逗號分隔的話看起來十分麻煩,有沒有更簡潔的方式呢?

                字符串格式化輸出

                字符串格式化輸出閃亮登場~它恰他立即锁定了地缺施展了两个异能好可以解決我們眼前的問題,也是常用的一種輸出形式。

                舉一個輸出身高的例子來看看它的用法:

                代碼練習:

                編程區

                1. height=180
                2. print('您的身高:{}cm'.format(height))

                終端區

                在格式化輸出中,{}是占位符,每當出現這個符號的時候就等於告訴計算機 ‘等下我要在這裏放由不得再惊讶下去內容,先把位置占上啦!’。

                再在format()的括號中放入字符串中缺少的內容,這樣打印結果時就會自動把括號中的信息替換到占位符的位置上。

                再來舉個例子,輸出BMR值:

                當然它也支持多個內容的格式化輸出,在format()的括號中依次寫入信息,就會按照順序來替換占位符。

                代碼練習:

                編程區

                1. gender = '男'
                2. height = 180
                3. weight = 70
                4. age =28
                5. print('您的性別:{},身高:{},體重:{},年齡:{}'.format(gender,height,weight,age))

                終端區

                是不是非常簡單?

                下面就來改進輸出功能~

                1. y_or_no = input('是否選擇退出?(y/n):')
                2. while y_or_no != 'y':
                3. #在一行內輸入信息
                4. print('請輸入以下信息,用空格分隔')
                5. info = input('性別 體重(kg) 身高(cm) 年齡:')
                6. #分割字符串
                7. str_list = info.split(' ')
                8. #從列表提取分割後的字符♂串並轉換類型
                9. gender = str_list[0]
                10. weight = float(str_list[1])
                11. height = float(str_list[2])
                12. age = int(str_list[3])
                13. #計算BMR值
                14. if gender == '男':
                15. BMR=13.7*weight+5.0*height-6.8*age+66
                16. elif gender == '女':
                17. BMR=9.7*weight+1.8*height-4.7*age+665
                18. else:
                19. BMR=-1
                20. #輸出結果
                21. if BMR == -1:
                22. print('輸入的性別有誤')
                23. else:
                24. print('您的性別:{},身高:{}cm,體重:{}kg,年齡:{}'.format(gender,height,weight,age))
                25. print('您的BMR值是:{}大卡'.format(BMR))
                26. y_or_no = input('是否選擇退出?(y/n):')

                來運行看看效果吧。

                本關總結

                本節課我們一起學習了字符串的更多操作,下面一起來總結一◇下~

                • 字符串分割

                str.split()

                • 字符串格式化輸出,使用{}占位

                例如:
                '身高:{}cm'.format(height)

                下節預告

                如果用戶‘不按套路出牌’,比如輸入體重為:‘七十’,身高:‘一米八’。

                這種情況我們應該如何機智應對?下節課就來解決這個小問題~

                如果你想獲取課程相關資料,和更多小夥伴一起交流學習,歡迎添加班主任微信,我們下節課不見不散哦~

                掃描二維碼添加班主任微信

                已經添加過班主任他刚才是躲在后面咋呼的同學,可以直接聯系對應老師,無需重復添加。

                基礎但是当局者迷代謝率計算 1/3

                基礎代謝率計算(3)

                1.0x

                恭喜完成本課時的學習!
                堅持學習

                行動力超過

                累計學習

                學習下一課時