编写程序,查找并打印A440和A880之间所有音符的频率。使用两个的第十二个根。这是我目前的代码。
2**(1.0/12) is the twelfth root.
来自math import sqrt
i=0
a=440
a2=(a*(2**(1.0/12.0)))
for i in range(12):
print (a2)
a2=a2+i
i=i+1
这段代码给了我输出。
466.1637615180899
466.1637615180899
467.1637615180899
469.1637615180899
472.1637615180899
476.1637615180899
481.1637615180899
487.1637615180899
494.1637615180899
502.1637615180899
511.1637615180899
521.1637615180899
然而我需要的输出是
440.0
466.163761518
493.883301256
523.251130601
554.365261954
587.329535835
622.253967444
659.255113826
698.456462866
739.988845423
783.990871963
830.60939516
880.0
我的代码没有什么???
答案 0 :(得分:2)
你的数学错了
n=440
while (n<=880):
print n
n=n*(2**(1.0/12.0))