Haskell 程序读取一个人的身高,并打印此人是高个子、矮个子还是平均身高的人
haskellserver side programmingprogramming更新于 2025/5/8 4:52:17
本教程将帮助我们读取一个人的身高,并在进行比较时打印此人是高个子、矮个子还是平均身高的人。身高值(以厘米为单位)作为参数传递给定义的函数,然后将身高与 Haskell 中定义的条件进行比较。并显示最终输出。
算法
步骤 1 - 程序执行将从主函数开始。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 函数或使用模式匹配。身高值作为参数传递给这些函数,然后将人的身高描述显示为输出。