Проблемы с отступами в python
Запуск следующего кода получает
обнаружена противоречивая неопределенность.
Я не могу понять причину. Есть идеи?
[Это просто для размещения вопроса, потому что он требует более подробной информации.]
class FSM():
def sel(self):
self.big=[]
self.small=[]
for i in cpop:
if i.eve>goal:
self.big.append(i)
elif i.eve<goal:
self.small.append(i)
else:
print('goal')
break
def cross(self):
self.s1 = randint(0,len(self.big))#nradn
self.s2 = randint(0,len(self.small))
self.p1 = self.big[s1]
self.p2 = self.small[s2]
self.ch1=self.p1[0,2]+self.p2[2,len(p2)]
self.ch2=self.p2[0,2]+self.p1[2,len(p1)]
self.chs.append(ch1)
self.chs.append(ch2)
def npop(self):
self.npop=[]
self.F={}
for i in range(0,len(self.chs)):
self.F[i]= Per(self.chs[i], none)
self.npop.append(F[i])
self.F={}
n+=1
def cpop(self):
if n==0:
x=Per()
z=Per()
k=Per()
self.cpop=[x,z,k]
else:
self.cpop=self.npop
2 ответа
Вы должны сделать отступ со второй строки, где вы описываете FSM
учебный класс
От:
class FSM():
def sel(self):
...
в
class FSM():
def sel(self):
...
Кроме того, убедитесь, что у вас нет сочетания табуляции и пробелов.
Так как у вас есть
def npop(self):
self.npop=[]
self.F={}
for i in range(0,len(self.chs)):
self.F[i]= Per(self.chs[i], none)
self.npop.append(F[i])
self.F={}
n+=1
def cpop(self):
if n==0:
x=Per()
z=Per()
k=Per()
self.cpop=[x,z,k]
else:
self.cpop=self.npop
похоже это дело в cpop
метод.
Просто попробуйте этот отступ:
class FSM():
def sel(self):
self.big=[]
self.small=[]
for i in cpop:
if i.eve>goal:
self.big.append(i)
elif i.eve<goal:
self.small.append(i)
else:
print('goal')
break
def cross(self):
self.s1 = randint(0,len(self.big))#nradn
self.s2 = randint(0,len(self.small))
self.p1 = self.big[s1]
self.p2 = self.small[s2]
self.ch1=self.p1[0,2]+self.p2[2,len(p2)]
self.ch2=self.p2[0,2]+self.p1[2,len(p1)]
self.chs.append(ch1)
self.chs.append(ch2)
def npop(self):
self.npop=[]
self.F={}
for i in range(0,len(self.chs)):
self.F[i]= Per(self.chs[i], none)
self.npop.append(F[i])
self.F={}
n+=1
def cpop(self):
if n==0:
x=Per()
z=Per()
k=Per()
self.cpop=[x,z,k]
else:
self.cpop=self.npop