Haskell程式:讀取身高並判斷是高個子、矮個子還是中等身高


本教程將幫助我們讀取一個人的身高,並根據比較結果列印該人是高個子、矮個子還是中等身高。身高值(以釐米為單位)作為引數傳遞給定義的函式,然後將身高與Haskell中定義的條件進行比較。最後顯示最終輸出。

演算法

  • 步驟1 - 程式執行將從main函式開始。main()函式控制整個程式。

  • 步驟2 - 建立使用者自定義函式來執行任務

  • 步驟3 - if-else語句根據身高定義:如果身高 > 180,則該人是高個子;否則如果身高 < 150,則該人是矮個子;否則該人身高中等。

  • 步驟4 - 使用‘putStrLn’語句,在比較身高值後顯示最終輸出。

使用if-else語句

在這個例子中,我們將使用if-else語句來檢查身高值並列印相應的訊息。

示例1

main :: IO ()
main = do
  let height = 165
  if height > 180
     then putStrLn "You are a tall person."
  else if height < 150
     then putStrLn "You are a dwarf."
  else putStrLn "You are an average height person."

輸出

You are an average height person.

使用使用者自定義函式

在這個例子中,heightDescription函式用於根據輸入確定人的身高描述。heightDescription函式使用保護子句來檢查輸入值是否符合各種條件,並根據輸入返回相應的字串。

示例2

main :: IO ()
main = do
  let height = 185
  putStrLn (heightDescription height)

heightDescription :: Float -> String
heightDescription height
   | height > 180 = "You are a tall person."
   | height < 150 = "You are a dwarf."
   | otherwise = "You are an average height person."

輸出

You are a tall person.

使用模式匹配

在這個例子中,使用模式匹配來根據輸入確定人的身高描述。

示例3

main :: IO ()
main = do
  let height = 145
  putStrLn (heightDescription height)
heightDescription :: Float -> String
heightDescription height = 
    case height of
        h | h > 180  -> "You are a tall person."
        h | h < 150  -> "You are a dwarf."
        _            -> "You are an average height person."

輸出

You are a dwarf.

結論

在Haskell中,有多種方法可以讀取一個人的身高,然後預測其身高描述。為了檢查這一點,我們可以使用if-else語句、使用者自定義的heightDescription函式或使用模式匹配。身高值作為引數傳遞給這些函式,然後將該人的身高描述作為輸出顯示。

更新於:2023年1月23日

瀏覽量:101

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告