🏃‍♀️從 BMI計算 學python 基本輸入和四則運算

閱讀時間約 5 分鐘

前言


在之前 從冷笑話 學python 基本輸出 print()已經學會如何用python來輸出訊息,

並且在 從範例(閏年判斷) 學 Python 的 if ... else ... 語法
學會如何用進行流程控制和邏輯判斷。


接著,在這次的BMI(身體質量指標)計算教學裡,
將學會如何用python來接收使用者輸入的訊息,並且做一些簡單的四則運算。


觀念複習

從電腦的視角來看,什麼叫做Output輸出?

電腦或程式將結果向外傳遞,可能是透過螢幕、印表機、喇叭、檔案...等裝置或媒介發出訊息,讓使用者接收到。


從電腦的視角來看,什麼叫做Input輸入?

電腦或程式從外界接收訊息,可能是透過鍵盤、滑鼠、觸控板、麥克風...等裝置或媒介接收訊息,讓使用者傳入特定的資訊。


鍵盤輸入 與 input()語法


口語的表達

在鍵盤輸入特定的訊息​給電腦(或者程式)

對應的python語法

# x 是變數的名字,通常建議取相關的英文單字或相關的簡稱​
# 接收到的型別,預設是字串string​

x = input("提示訊息")


範例1: 經典的問候

在螢幕上顯示提示訊息,請使用者從鍵盤輸入英文名字。

接著,在螢幕上顯示對應的問候訊息。


對應的python程式碼如下

name = input("What is your name? ")

print(f"Hi, {name}. Nice to meet you.")

輸入:

Tom​

輸出結果:

What is your name? Tom
Hello, Tom. Nice to meet you.

如果輸入訊息不是字串,
需要跟著情境變化(例如有數字的情況下),要怎麼處理?


也很容易,如果輸入是整數,那麼使用int()來轉換到整數型別即可。

如果輸入帶有小數點,那麼使用float()來轉換到浮點數型別即可。


範例2: 輸入年齡

在螢幕上顯示提示訊息,請使用者從鍵盤輸入今年幾歲。

接著,在螢幕上顯示對應的年齡訊息。


對應的python程式碼如下

age = int( input("How old are you? ") )

print(f"You are {age} years old.")

輸入:

18

輸出結果:

How old are you? 18
You are 18 years old.

四則運算 與 加減乘除 語法


口語的表達

兩個數字或者變數 做四則運算

對應的python語法

#​ result 是用來儲存計算的結果的變數

# 相加
result = x + y
print(result)

# 相減
result = x - y
print(result)

# 相乘
result = x * y
print(result)

# 相除​
# 重要觀念: 做除法的時候,不可以除以零,否則會出錯!
result = x / y
print(result)

# x的y次方運算
result = x ** y
print(result)

DEMO: BMI計算機


BMI = 體重(kg) / [ 身高(m) 的平方 ]


在螢幕上顯示提示訊息,請使用者從鍵盤輸入體重和身高。

接著,在螢幕上顯示BMI和相對應的健康提示訊息。


# 輸入體重和身高
weight = input("請輸入體重(kg):")
height = input("請輸入身高(cm):")

# 字串轉成浮點數
weight = float(weight)
height = float(height)

# 公分轉換成公尺
height = height / 100

# 計算BMI
bmi = weight / (height ** 2)

# 顯示結果
print(f"您的BMI值為:{bmi}")

# 判斷BMI範圍
if bmi < 18.5:
print("體重過輕")

elif 18.5 <= bmi < 25:
print("體重正常")

elif 25 <= bmi < 30:
print("體重過重")

else:
print("肥胖")

測試範例:

輸入

請輸入體重(kg):60
請輸入身高(cm):175

輸出結果

您的BMI值為:19.591836734693878
體重正常

還有其他幾種不同的輸出結果,讀者可以試著輸入不同數值玩玩看。


結語

其實 input() 語法對應到的就是我們日常生活中的文字輸入,相當直覺。

四則運算也與日常生活中的加減乘除意義相同。


讀者可以試著從生活中的範例開始練習,先定義出明確的輸入與計算規則,

接著寫幾個小程式測試一下是否與預期中的執行結果相符合。

80會員
415內容數
由有業界實戰經驗的演算法工程師, 手把手教你建立解題的框架, 一步步寫出高效、清晰易懂的解題答案。 著重在讓讀者啟發思考、理解演算法,熟悉常見的演算法模板。 深入淺出地介紹題目背後所使用的演算法意義,融會貫通演算法與資料結構的應用。 在幾個經典的題目融入一道題目的多種解法,或者同一招解不同的題目,擴展廣度,並加深印象。
留言0
查看全部
發表第一個留言支持創作者!
從範例學python的目標讀者: 針對剛進入的初學者,想學習Python語言。 有基礎本數學邏輯基礎即可。 從小遊戲學python的目標讀者: 針對已經有經驗的C/C++, Python, 或其他有程式基礎的讀者。 想實作一些小專案,從實做中學習如何分析需求、元件分拆、到底層實作
在程式語言裡,最基本的第一堂課通常就是最簡單也最直接的輸入和輸出, 今天,會從大家耳熟能詳的"Hello Wolrd"這個經典範例開始介紹 Python的基本的輸出print語法,最後以冷笑話的範例作為結尾的Demo。 從電腦的視角來看,什麼叫做Output輸出?
在資料結構與演算法裡, 最簡單的線性資料結構除了list之外就是linked list鏈結串列了。 Linked list又有分為單向Singly linked list 和雙向Doubly linked list 在這篇文章,會從最基礎的Singly linked list開始講起。 定義
賓果的遊戲描述 在一個5x5的方陣上隨機填充1~25的數字。 玩家(使用者) 和 電腦(AI)輪流叫一個號碼,最先占據一整條直線連線的獲勝。 就像小時候玩的bingo 賓果連線遊戲一樣! (可以是占據兩條對角線,可以是占據水平直線,可以是占據垂直直線)
前言 相傳有一個故事, 數學家高斯的小學數學老師出了一道從1+2+3+...+100的習題, 想讓活潑好動的小學生們算一整節課,消耗一下多餘的體力, 結果老師剛說完題目沒過多久,小高斯就算出了答案。 原來,他發現數列兩端可以兩兩配對:1+100,2+99……每一對的和都是101,共有50對,所
在程式語言裡,對應到多重選擇路徑判斷的語法, 最通俗也最常見的就是if ... else ... 語法。 今天,我們將從最基本的 若A條件成立 則...否則 ... 的 if ... else ...開始講起, 搭配幾個範例做說明,最後以一個經典的閏年判定最為結尾的Demo
從範例學python的目標讀者: 針對剛進入的初學者,想學習Python語言。 有基礎本數學邏輯基礎即可。 從小遊戲學python的目標讀者: 針對已經有經驗的C/C++, Python, 或其他有程式基礎的讀者。 想實作一些小專案,從實做中學習如何分析需求、元件分拆、到底層實作
在程式語言裡,最基本的第一堂課通常就是最簡單也最直接的輸入和輸出, 今天,會從大家耳熟能詳的"Hello Wolrd"這個經典範例開始介紹 Python的基本的輸出print語法,最後以冷笑話的範例作為結尾的Demo。 從電腦的視角來看,什麼叫做Output輸出?
在資料結構與演算法裡, 最簡單的線性資料結構除了list之外就是linked list鏈結串列了。 Linked list又有分為單向Singly linked list 和雙向Doubly linked list 在這篇文章,會從最基礎的Singly linked list開始講起。 定義
賓果的遊戲描述 在一個5x5的方陣上隨機填充1~25的數字。 玩家(使用者) 和 電腦(AI)輪流叫一個號碼,最先占據一整條直線連線的獲勝。 就像小時候玩的bingo 賓果連線遊戲一樣! (可以是占據兩條對角線,可以是占據水平直線,可以是占據垂直直線)
前言 相傳有一個故事, 數學家高斯的小學數學老師出了一道從1+2+3+...+100的習題, 想讓活潑好動的小學生們算一整節課,消耗一下多餘的體力, 結果老師剛說完題目沒過多久,小高斯就算出了答案。 原來,他發現數列兩端可以兩兩配對:1+100,2+99……每一對的和都是101,共有50對,所
在程式語言裡,對應到多重選擇路徑判斷的語法, 最通俗也最常見的就是if ... else ... 語法。 今天,我們將從最基本的 若A條件成立 則...否則 ... 的 if ... else ...開始講起, 搭配幾個範例做說明,最後以一個經典的閏年判定最為結尾的Demo
你可能也想看
Thumbnail
八十-二十法則提到,在多數生活的現象中,約80%的效果是來自於20%的原因,除了經濟學、學習理論外,這個法則同樣也可以應用在生活中的幸福感上。 我們需要認知到擁有的越多不一定會越快樂,反而有可能會因為無法專注在少數事物上而產生空虛、迷茫的感覺。「極簡」精神最重要的一點在於放下對於「多」的執著,將有
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
https://vickyyoga.pixnet.net/blog/post/576837836
Thumbnail
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
Thumbnail
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
Thumbnail
瞭解自己到底該吃多少,吃實際了多少、吃了些什麼,加上家人朋友的鼓勵,減重將變得更容易!
Thumbnail
量體重是健康檢查的基本項目,而量測體重、BMI以及體脂率乃是可在家自行測量與追蹤的指標。 BMI(Body Mass Index) 根據國健署:成人健康體位標準,身體質量
Thumbnail
加入吃白飯超享瘦的活動,已經來到第36天,原本的體重從67.7kg,目前2024.01.15是65.9kg;身體BMI由24.9降至目前24.2。 數字的起伏跟下降,是讓我們關心自己的身體,不暴飲暴食,維持定時定量。
Thumbnail
加入健身房 一定會測量一個東西 他就是inbody 這是評估自己身體組成的方式 大約像下圖這樣 那我們要如何評估自己的狀態 去建立目標呢 就聽我娓娓道來吧  首先 我們會大致看一下 你的體重 骨骼肌 脂肪率 大約是
Thumbnail
八十-二十法則提到,在多數生活的現象中,約80%的效果是來自於20%的原因,除了經濟學、學習理論外,這個法則同樣也可以應用在生活中的幸福感上。 我們需要認知到擁有的越多不一定會越快樂,反而有可能會因為無法專注在少數事物上而產生空虛、迷茫的感覺。「極簡」精神最重要的一點在於放下對於「多」的執著,將有
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
https://vickyyoga.pixnet.net/blog/post/576837836
Thumbnail
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
Thumbnail
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
Thumbnail
瞭解自己到底該吃多少,吃實際了多少、吃了些什麼,加上家人朋友的鼓勵,減重將變得更容易!
Thumbnail
量體重是健康檢查的基本項目,而量測體重、BMI以及體脂率乃是可在家自行測量與追蹤的指標。 BMI(Body Mass Index) 根據國健署:成人健康體位標準,身體質量
Thumbnail
加入吃白飯超享瘦的活動,已經來到第36天,原本的體重從67.7kg,目前2024.01.15是65.9kg;身體BMI由24.9降至目前24.2。 數字的起伏跟下降,是讓我們關心自己的身體,不暴飲暴食,維持定時定量。
Thumbnail
加入健身房 一定會測量一個東西 他就是inbody 這是評估自己身體組成的方式 大約像下圖這樣 那我們要如何評估自己的狀態 去建立目標呢 就聽我娓娓道來吧  首先 我們會大致看一下 你的體重 骨骼肌 脂肪率 大約是