檢查出下面的代碼,當我輸入一個負數時,似乎沒有錯誤,但平方根不能是負數,所以我不知道爲什麼會發生這種情況。Math.sqrt上沒有錯誤(-1)
import math
d=[]
while True:
z=int(raw_input())
if (z>0 and math.sqrt(z)): d.append(int(z))
在待機:
math.sqrt(int(-1))
Traceback (most recent call last):
File "<pyshell#16>", line 1, in <module>
math.sqrt(int(-1))
ValueError: math domain error
你問爲什麼第一個代碼示例不會像第二? – amccormack
是啊,很多,林不知道爲什麼,不是在第一個代碼中的錯誤 –