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函数或使用模式匹配。身高值作为参数传递给这些函数,然后将该人的身高描述作为输出显示。
广告