Haskell错误错误错误地终止了字符constan

2024-06-16 13:56:12 发布

您现在位置:Python中文网/ 问答频道 /正文

kell-m在试图传递kell-m常量时出错。python中的代码已经过测试,并且是正确的

    import System.IO
    funcion x n = funcionaux x n 1
    funcionaux x n k = if(k>n) then 2*k-1 else (2*k-1)-((x**k)´div´(funcion(x,n,(k+1)))
    main = do
    x <- readLn :: IO Double
    n <- readLn :: IO Int
    putStrLn (show(funcion x n))

python代码是

^{pr2}$

Tags: 代码ioimportdivifmainsystemdo
2条回答

您将打开4个圆括号并关闭3个圆括号。在

这里有一个重新设置代码格式的建议。我还使funcionaux递归。在

您可能有更多的错误需要修复,这是未经测试的。在

import System.IO
funcion x n = funcionaux x n 1
funcionaux x n k = if k>n 
   then 2*k - 1 
   else 2*k - 1 - ((x**k) `div` funcionaux x n (k+1))
main = do
   x <- readLn :: IO Double
   n <- readLn :: IO Int
   putStrLn (show (funcion x n))

嗯。。。Haskell不像python那么简单,它需要经过深思熟虑的研究。在

工作代码如下:

import System.IO

funcionaux x n k = if(k>n)
                then 2*k-1
                else (2*k-1)-((x^k) `div` (funcionaux x n (k+1)) )
main = do
 x <- readLn :: IO Int
 n <- readLn :: IO Int
 putStrLn (show (funcionaux x n 1))

还有一些注意事项:

  1. 对于中缀,使用“operator`not'operator”
  2. **对于不同的类型,^
  3. div和/或不同类型
  4. 在函数调用期间,参数传递时不使用逗号
  5. 等等。在

您需要在div左右加反撇号(表示前缀函数的中缀用法),而不是单引号(它表示字符常量,因此会出现错误)。也就是说,您应该在使用'div'的地方使用`div`。在

相关问题 更多 >