该程序用于计算素数并将其保存到文件中。保存功能尚未正确编程,请忽略。该程序通过比较奇数与以前的素数进行工作。如果它不是这些数字的倍数,那么它就是素数。从理论上讲它应该然而,工作中当我尝试通过从列表中返回的错误信息的质数来划分数:错误消息:不支持的操作数类型___
Traceback (most recent call last): File "C:\Users\Archie\Desktop\maths python\prime\prime v1.3.py", line 51, in primeCheck(num) File "C:\Users\Archie\Desktop\maths python\prime\prime v1.3.py", line 8, in primeCheck check = int(num)/listImport TypeError: unsupported operand type(s) for /: 'int' and 'list'
能否请你无论是建议我该如何解决这个问题,或者提出一个不同的方法解决问题。
def primeCheck(num):
divider = 2
refresh = 0
firstPoint = 0
secondPoint = 1
while refresh == 0:
listImport = primeList[firstPoint:secondPoint]
check = int(num)/listImport
if (check.is_integer()):
refresh = 1
else:
firstPoint = firstPoint + 1
secondPoint = secondPoint + 1
if secondPoint > len(primeList):
file.write(str(num) + "\n")
print(str(num))
global x
x = x + 1
refresh = 1
primeList.append
\\ if (int(num)/divider).is_integer():
\\ if divider == num:
\\ file.write(str(num) + "\n")
\\ print(str(num))
\\ global x
\\ x = x + 1
\\ refresh = 1
\\ else:
\\ refresh = 1
\\ else:
\\ divider = divider + 1
global file
repeat = input("How many numbers do you want to add to the existing file?\n")
file = open("Prime results v1.3.txt", "r")
global x
x = 1
num = file.readline()
file.close()
global file
file = open("Prime results v1.3.txt", "a")
num = int(num)
global primeList
primeList = [2]
while x <= int(repeat):
primeCheck(num)
num = num + 2
file.close()
该地区双刀削减是我尝试过,以前的方法工作,但这种方式更有效。