我想打印1-10(反向)的平方根。在Python中減去for循環的值
我還想打印每個相鄰平方根的差異。
import math as m
for i in range(10, -1, -1):
print str(i) + ": " + str(m.sqrt(i))
print str(m.sqrt(i) - m.sqrt(i-1))
我目前得到一個數學域錯誤。
我想打印1-10(反向)的平方根。在Python中減去for循環的值
我還想打印每個相鄰平方根的差異。
import math as m
for i in range(10, -1, -1):
print str(i) + ": " + str(m.sqrt(i))
print str(m.sqrt(i) - m.sqrt(i-1))
我目前得到一個數學域錯誤。
你確實計數,直到0,但行
print str(m.sqrt(i) - m.sqrt(i-1))
具有i-1
這對我== 0計算結果爲開方(-1)
爲負整數使用CMATH模塊,該模塊內置蟒蛇的模塊https://docs.python.org/2/library/cmath.html
我希望這個答案可以幫助你:
import math as m,cmath
for i in range(10, -2, -1):
if i<=0:
print str(i) + ": " + str(cmath.sqrt(i))
print str(cmath.sqrt(i)-cmath.sqrt(i-1))
else:
print str(i) + ": " + str(m.sqrt(i))
print str(m.sqrt(i) - m.sqrt(i-1))
和輸出將是:
10: 3.16227766017
0.162277660168
9: 3.0
0.171572875254
8: 2.82842712475
0.182675813682
7: 2.64575131106
0.196261568281
6: 2.44948974278
0.213421765283
5: 2.2360679775
0.2360679775
4: 2.0
0.267949192431
3: 1.73205080757
0.317837245196
2: 1.41421356237
0.414213562373
1: 1.0
1.0
0: 0j
-1j
-1: 1j
-0.414213562373j
兩個很好的答案。感謝數學領導。 – peer
'SQRT(-1)'是域誤差,嘗試'範圍(10,0,-1)' –
和SQRT(-2)具有相同的效果 –