我試圖做一個程序,找到一個數字是否是質數。不支持的操作數類型爲/:'實例'和'int'
文件2:
class Number():
def __init__(self, x):
self.x = float(x)
def is_prime(x):
x = x
Div = 2
while ((x/2) > Div):
if(x == 2):
return True
elif(x == 3):
return True
else:
while((x/2) > Div):
if(x%Div == 0):
return False
elif(Div >= (x/2)):
return True
else:
Div = Div + 1
文件1:
from File2 import *
N = Number(10)
print N.is_prime()
當我運行它,我得到這個:
Traceback (most recent call last):
File "File 1", line 5, in <module>
print N.is_prime()
File "File 2", line 19, in is_prime
while ((x/2) > Div):
TypeError: unsupported operand type(s) for /: 'instance' and 'int'
任何人都知道如何解決這一問題?
我很好奇你爲什麼做了一個包裝類的數字。只需直接使用Python的數字並編寫一個獨立函數'is_prime'。面向對象的方法在這裏是過度的。 – 2015-02-06 21:17:53