我想找出值1到10的差值余弦函数值。 所以:
import math
import sys
import string
import os
for n in range (1,11):
x = math.cos (n)
print x
这个简单的脚本打印n = 1到10的余弦值现在我需要确定各个值之间的差异,并从n = 2的值和n = 1的值读取它然后取值对于n = 3和n = 2 所以:
Math.cos (2) - Math.cos (1)
Math.cos (3) - Math.cos (2)
Math.cos (4) - Math.cos (3)
.
.
Math.cos (10) - Math.cos (9)
最后
Math.cos (10) - Math.cos (1)
然后我想把这些值加起来......但我已经把它们放在了一起
答案 0 :(得分:1)
我可能会这样做:
for x,y in zip(range(2,11)+[10],range(1,10)+[1]):
print math.cos(x) - math.cos(y)
当然,这只适用于python2.x,其中range
返回一个列表。要解决这个问题,您可以使用itertools.chain
。即:range(2,11)+[10]
变为chain(range(2,11),[10])
。这里要学习的关键功能是zip
答案 1 :(得分:1)
未测试:
import math
cosines = map(math.cos, xrange(1, 11))
cosines.append(cosines[0])
from operator import sub
print map(sub, cosines[1:], cosines[:-1])
答案 2 :(得分:0)
您可以一起使用多个for
循环,如下所示:
for x in range(1, 11):
for y in range(1, 11):
print("x is %s, y is %s" % (x, y))
答案 3 :(得分:0)
from math import cos
cosines = [cos(i) for i in range(1,11)]
print [b-a for a,b in zip(cosines, cosines[1:]+cosines[0])]