【问题标题】:How to write integer and string together in Haskell?如何在 Haskell 中一起写整数和字符串?
【发布时间】:2020-01-28 13:20:13
【问题描述】:
coin :: Int -> Int -> Int -> Int -> Int
dollar :: Int -> Int -> Int -> Int -> Int
sen :: Int -> Int -> Int -> Int -> Int

coin q d n p = (q * 25) + (d * 10) + (n * 5) + (p * 1)
dollar q d n p = (coin q d n p) `div` 100
sen q d n p = (coin q d n p) `mod` 100

假设(dollar q d n p) 是6,(sen q d n p) 是27。

如何在 Haskell 中写"6 dollar and 27 sen" 输出?

我可以用 Python 做到这一点,

# [Input]

    dollar = 2 * 3
    sen = 3 * 9
    print(dollar, " dollar and ", sen, "sen")

# [Output]
# 6 dollar and 27 sen

那么,如何在 Haskell 中写出来,输出一样呢?

【问题讨论】:

  • 作为一般建议,如果你想用 X 语言编程,最好避免用 Y 语言编写代码,然后尝试将这些代码转换为 X。通常,X 和 Y 有不同的方式接近相同的任务。在 Python 和 Haskell 的情况下,这两种语言基于完全不同的范例,在它们之间进行转换通常比从头重写程序更难。例如,在 Haskell 中没有赋值,因此即使 dollar = 2*3 也无法在不使用非常单一的代码的情况下轻松模拟。
  • 我们不能重复使用相同的问题条目来发布完全不相关的问题,这会使现有答案无效。这违反了 Stack Overflow 的规则。

标签: haskell output


【解决方案1】:
putStrLn $ (show dollar) ++ " dollar and " ++ (show sen) ++ "sen"

或(使用模块Text.Printf

import Text.Printf

printf "%d dollar and %d sen\n" dollar sen

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-20
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    • 2021-02-12
    • 2021-09-09
    • 1970-01-01
    相关资源
    最近更新 更多