我对 Python 非常陌生,正在尝试使用本系列来近似正弦函数。
我的代码如下所示:
import math
def sin(x,n):
sine = 0
for i in range(n):
sign = (-1)**i
sine = sine + ((x**(2.0*i-1))/factorial(2**i-1))*sign
return sine
Run Code Online (Sandbox Code Playgroud)
这并没有返回我希望的答案,但我很困惑,找不到我的错误......到python和一般编程)。
它似乎类似于我之前必须编写的程序来近似给定这个系列的pi :
def piApprox(n):
pi = 0
for i in range(n):
sign = (-1)**i
pi = pi + 1.0/(2*i+1)*sign
return 4*pi
Run Code Online (Sandbox Code Playgroud)
我不知道这是否有任何用处,但这就是我试图用它来找出我的正弦方法的原因。任何帮助解决此问题或将我指向正确的方向将不胜感激!
对于初学Haskell课程中的家庭作业的一部分,我正在尝试编写一个程序,该程序将获取Bools对的列表,并返回来自bool对的Bool列表,其间有"&&".例如...
andandbool [(True,True),(True,False),(False,True),(False,False)]
Run Code Online (Sandbox Code Playgroud)
会回来:
[True, False, False, False]
Run Code Online (Sandbox Code Playgroud)
然而,我一直遇到麻烦.我的代码看起来像这样.
andandbool :: [(Bool,Bool)] -> [Bool]
andandbool [a] = [fst x && snd x | x <- [a]]
Run Code Online (Sandbox Code Playgroud)
当我提供只有一对的列表时,它工作正常,但当我输入多对列表时,报告"函数中的非详尽模式和andbool".我缺少某种列表理解吗?任何指向正确方向的人都会非常感激.
我是Haskell的新手,我之前的编程知识只有Python.我正在尝试为一个家庭作业的一部分编写一个程序,它将取整数n并返回True或False,具体取决于n是否为偶数.我正在尝试使用if/then/else以及内置的mod函数,但我似乎无法确定正确的语法.
iseven n = mod n 2
if n == 0
then n = True
else n = False
Run Code Online (Sandbox Code Playgroud)
如果有人能指出我正确的方向,我将不胜感激.