importmathcount=0defisPrime(n):forjinrange(2,int(math.sqrt(n))+1):ifn%j==0:returnFalsereturnTruedefisLoop(x):x=str(x)flag=Truecycle=[]foriinrange(1,len(x)+1):strt=str[(i-...
import math
count=0
def isPrime(n):
for j in range(2,int(math.sqrt(n))+1):
if n%j ==0:
return False
return True
def isLoop(x):
x=str(x)
flag=True
cycle=[]
for i in range(1,len(x)+1):
strt=str[(i-1):]+str[:(i-1)]
number=int(strt)
cycle.append(number)
for j in cycle:
if not isPrime(j):
return False
return flag
g=int(raw_input())
for i in range(2,g+1):
if isLoop(i):
count+=1
print count
以上是我计算循环素数的代码 运行输入数字之后就报错
Traceback (most recent call last):
File "F:/test.py", line 22, in
if isLoop(i):
File "F:/test.py", line 13, in isLoop
strt=str[(i-1):]+str[:(i-1)]
TypeError: 'type' object has no attribute '__getitem__'
>>>
求大神解答
展开