On 16/02/2015 16:27, Courtney Skinner wrote:
Hello,
I am trying to build a program that approximates the value of cosine - this is
my program so far. It is not returning the right values. Could you tell me what
I am doing wrong?
def main():
import math
Not that it matters but imports are usually done at the top of the module.
print("This program approximates the cosine of x by summing")
print("the terms of this series: x^0 / 0!, -x^2 / 2!,")
print("x^4 / 4!, -x^6 / 6!...")
n = eval(input("How many terms should be used? "))
x = eval(input("What value should be used for x? "))
*DON'T* use eval, it's potentially dangerous.
n = int(input("How many terms should be used? "))
x = float(input("What value should be used for x? "))
s = 1
d = 1
e = 1
value = 0
for i in range(n - 1):
Are you aware that this will count from zero to n - 2?
value = value + s + (x**e / math.factorial(d))
s = s * 1
e = e + 2
d + d + 2
Whoops :)
print("Approximation for cos(x) calculated by this program: ")
print(value)
print()
difference = math.cos(x) - value
print("Difference between this value and math.cos(x): ")
print(difference)
main()
We'd usually write:-
if __name__ == "__main__":
main()
Thank you!
C.Skinner
--
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.
Mark Lawrence
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor