1

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)

それから私は値を合計したいと思います...しかし私はおそらくすでにまとめました

4

4 に答える 4

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])
于 2013-02-05T18:44:29.417 に答える
1

私はおそらく次のようなことをします:

for x,y in zip(range(2,11)+[10],range(1,10)+[1]):
    print math.cos(x) - math.cos(y)

もちろん、これrangeはリストを返す python2.x でのみ機能します。それを回避するには、 を使用できますitertools.chain。すなわち: range(2,11)+[10]になりchain(range(2,11),[10])ます。ここで学ぶべき重要な機能はzip

于 2013-02-05T18:41:02.320 に答える
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])]
于 2013-02-05T18:59:38.337 に答える
0

次のように、複数のforループを一緒に使用できます。

for x in range(1, 11):
    for y in range(1, 11):
        print("x is %s, y is %s" % (x, y))
于 2013-02-05T18:41:04.520 に答える