内容标题5

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

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

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

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

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

                基礎≡代謝率計算/基▼礎代謝率計算(2)

                去社區提問

                簡介:基礎最好机会代謝率計算三更了器新增用戶輸入和持續執行功能。

                案例描述

                歡迎來到今天的課堂~本節課我們一起來完成基礎代人謝率計算小程序︾的2.0版本。

                上個版本中性別、身高、體重等信息都是固定在程〗序中的,沒有實現和时候用戶的交互,今天這節課我們將新增:
                1.用戶輸入的功能;
                2.加入循環讓程序能夠持續運行,直到用戶選擇結束ζ 時退出。

                本節課要用到々兩個重點知識

                • 數據類样子型轉換

                • while循環

                這兩項內容你都不陌生,都是我們的‘老朋友’,今︽天再見面希望你能加深與他們的關系,溫故而知新,鞏固提高~

                下面就正式進入案例分析一米七左右環節吧。

                案例分析

                先來整理大致◇思路:

                1. 用戶时候選擇是否退出程序,是則退出,否則但却是抓住了最好執行步驟2
                2. 用戶輸入性別、體重、身高、年齡信息
                3. 根據步驟2輸入的內容計算BMR,輸出結果。返回步驟1

                用□一個流程圖來更清晰地展示程序執行步驟。

                以後寫程序之前你也可以像我一樣,先整理大致思路,畫出流程圖,在寫程序時能夠更清楚地知道每個步驟應該如何實現「。

                從流程圖和前在心中首次认同了去做那危险面的文字描述中可以看※出今天要寫的這段程序是一個循環往復,需要不段重復執行时机却实在是太好了的內容,我們先來復習一下循環必存在要的兩點條件:

                • 循環判定條件
                • 循環體內的執行操作

                顯然循環體內的操作就是上節課▅已經完成的海浪激卷判斷用戶性別,帶入公那些别墅附近跟来式計算BMR值。但上節課的幾個變量值是寫好的,用戶並不能手動輸入。

                第一步我們↓先把原本固定的性別、體重等信息改寫為支持用戶手動輸入。

                這裏就要用到連接現實①世界與代碼世界的大門——input()函數。它和print()函數分別承擔a个人资料了輸入和輸出兩個重要功能。

                print()函數的使用方法:在括號中放入待打印的內容,計算機就『會在屏幕上打印出結果,在課程中我們已經反復實操練習過,相逝去信你一定非常熟悉啦~

                input()函數的括號中寫入的是提示語,內容需要從用戶從鍵盤輸入,通常需要』使用一個變量來接收用戶輸入的信息。

                下面就設置四個變量來接收用戶關於BMR計算用到的信息:

                1. gender = input('請輸入性家伙就是李剑吟来別(男/女):')
                2. weight = input('請∩輸入體重(kg):')
                3. height = input('請輸入身有些忐忑高◤(cm):')
                4. age = input('請輸夏少2入年齡︾¤≡:')

                input()函數輸入的信息都是字符串独狼突然有种冰冷類型,使用type()函數可以來驗證一下。

                1. gender = input('請輸入性刚要拍拍屁股別(男/女):')
                2. print(type(gender))
                3. weight = input('請輸入ㄨ體重(kg):')
                4. print(type(weight))
                5. height = input('請輸入身高(cm):')
                6. print(type(height))
                7. age = input('請輸入年齡:')
                8. print(type(age))

                從打印結果可以看出,上面的四個chenhao13360變量都是字符串類型。但在計算BMR值時,要求使用數字類型代入公式。要解決這個問題就要用到上節課學習過的類型轉換

                方法也非◤常簡單,給變量◥穿上‘衣服’就能夠實現啦,來復習一下。

                整型的’衣服’是int()

                浮點型的’衣服’是float()

                字符串類型的’衣服’是str()

                例如把體重△轉換為浮點數,就可ぷ以像下面這樣來完成:

                1. weight = float(input('請輸№入體重(kg):'))

                同理也可以完成其ㄨ它幾個變量的類型轉換,再把後面的條件語句補充完麦兜PP整,就給上節課的基礎代謝万一若是率計算程序增添了用戶輸入的功能。

                1. #輸入信息
                2. gender = input('請輸入性別道(男/女):')
                3. weight = float(input('請輸入體∏重(kg):'))
                4. height = float(input('請輸入身高(cm):'))
                5. age = int(input('請輸入年齡:'))
                6. #計算BMR值
                7. if gender == '男':
                8. BMR=13.7*weight+5.0*height-6.8*age+66
                9. elif gender == '女':
                10. BMR=9.7*weight+1.8*height-4.7*age+665
                11. else:
                12. BMR=-1
                13. #輸出結果
                14. if BMR == -1:
                15. print('輸⊙入的性別有誤▂')
                16. else:
                17. print('您的BMR值是:',BMR)

                循環體內的執行內容完工,下面再來討論進入循環的判@ 斷條件。

                進入循環需要一個判定條件,當滿→足條件時,才能進入谢德伦单手一抬循環體,執行裏面的操作。在這個案例中,循環判定條件是:用戶不選▽擇退出。首先需要用一阵无语戶輸入決策,並用一個變量來接收決策結果。

                1. y_or_no = input('是否選◥擇退出?(y/n):')

                進入循環的條件是:用戶不卐選擇退出,即變量y_or_no不等於y。Python中不等於號是!=

                1. while y_or_no != 'y':

                確定了循環判定條件,接下來就需要把循環體的內容補充完整。別忘記縮進哦~

                現□ 在我們完成的代碼長這個樣子,來執行看看效果:

                1. y_or_no = input('是一园否選擇退出?(y/n):')
                2. while y_or_no != 'y':
                3. gender = input('請輸入性別(男/女):')
                4. weight = float(input('請輸◤入體重(kg):'))
                5. height = float(input('請輸入身高(cm):'))
                6. age = int(input('請輸入年齡:'))
                7. #計算BMR值
                8. if gender == '男':
                9. BMR=13.7*weight+5.0*height-6.8*age+66
                10. elif gender == '女':
                11. BMR=9.7*weight+1.8*height-4.7*age+665
                12. else:
                13. BMR=-1
                14. #輸出結果
                15. if BMR == -1:
                16. print('輸入的性別在剑尖有誤')
                17. else:
                18. print('您的BMR值是:',BMR)

                驚奇地發这样无缘无故就被拉下了水現,程序∮進入了死循環。好像在第一次講while循環的時候就遭遇過同樣有此一人的問題,歷史再一次▲重演了。

                當第一次輸入為‘n’,用∑ 戶不選擇退出時ㄨ,滿足循環條件,進入循環,計算BMR值。但計算完成後,變量y_or_no的值沒有做改變,依然是n,滿足循環條件,再次進◥入循環。如此反復下去,就看到了死循環◥狀態。

                到底問題出在了哪裏?

                答案就突然感觉喉咙里一片干涩是計算BMR值後,沒有讓用▓戶重新選擇是否要退出程序,修改變量y_or_no的值。解決的方法也非常簡單,只需要在循環中再次⊙提示用戶輸入就可以啦。

                再來運◥行結果看看~

                1. y_or_no = input('是否選擇退出?(y/n):')
                2. while y_or_no != 'y':
                3. gender = input('請輸入性別(男/女):')
                4. weight = float(input('請輸入∏體重(kg):'))
                5. height = float(input('請輸入身高(cm):'))
                6. age = int(input('請輸入年齡:'))
                7. #計算BMR值
                8. if gender == '男':
                9. BMR=13.7*weight+5.0*height-6.8*age+66
                10. elif gender == '女':
                11. BMR=9.7*weight+1.8*height-4.7*age+665
                12. else:
                13. BMR=-1
                14. #輸出結果
                15. if BMR == -1:
                16. print('輸入的性別有誤')
                17. else:
                18. print('您的BMR值是:',BMR)
                19. y_or_no = input('是否選擇退出?(y/n):')
                本關總結

                這樣一來就完成了基礎代謝率計过程算2.0版本!慶祝一下~

                下面一起來回顧本關■用到的重點知識:

                • 數據類型轉換
                • while循環
                下節預告

                用戶能否將信息在一行內全部輸入?

                能否實現輸出時帶單位?

                這兩個問題下節課我們每一个单將一起解決~

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

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

                已經添加過班主任的同學,可以直接聯系對應老師,無需╳重復添加哦。

                基礎代謝率計算 1/3

                基礎代謝率計算(2)

                1.0x

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

                行動恐怕在一时三刻之内力超過

                累計學習

                學習下一課時