Найти - Пользователи
Полная версия: Проверка типа элемента списка
Начало » Python для новичков » Проверка типа элемента списка
1 2 3
int123
Здравствуйте!
Кажется, я нашла ошибку и снова прошу вашей помощи.

mas=[((1,'a',5),(1,'b',4)),((2,'a',2),(2,'b',1)),((3,'a',2),(3,'b',5)),((4,'a',2),(4,'b',1)),((5,'a',5),(5,'b',4))]
t=1
clas=[[1,4],[2,3,5]]

while t==1:
t=0
print('Top of loop: ', clas)
for clas_i, qw in enumerate(clas):
print('clas_i = ', clas_i)
print('qw = ', qw)
if isinstance(qw, int):
print('its int!')
continue

statver=[['',''],['',''],['',''],['',''],['',''],['','']]
for er in qw:
mq=mas[er-1]
print('mq:', mq)
for sa in mq:
print('sa:', sa)
for s, clasn in enumerate(clas):
#print('clasn: ', clasn)
x, y, z = sa
if z in clasn:
val = '%s%d' % (y, s)
if y == 'a':
statver[x][0] = val
else:
statver[x][1] = val
break
print('statver: ', statver)

newclas=[0,0,0,0,0,0,0,0,0,0]
checkn=[]

for ver in qw:
for i2, ver1 in enumerate(qw):
if i2 in checkn:
continue
if statver[ver]!= statver[ver1] and statver[ver]!=['',''] and statver[ver1]!=['',''] :
print('statver[ver] ',statver[ver],'statver[ver1] ',statver[ver])
newclas[ver]=ver1
print('newclas',newclas)
#newclas.append(ver1)
checkn.append(ver1)
print('checkn',checkn)
print('ver1: ',ver1)
#print('newclas:',newclas)
t=1
print('t = ', t)
else:
#print('ni4ego ne pomenyali')
t=0
checkn.append(ver)
print('ver :',ver)

print('checkn:', checkn)
#print('newclas:', newclas)

if t==1:
print('i suda')
newclas = filter(lambda a: a!=0, newclas)
del clas[clas_i]
clas += [newclas]
#print('t = ', t)
print('newclas:', newclas)
 for ver in qw:
for i2, ver1 in enumerate(qw):
if i2 in checkn:
continue
if statver[ver]!= statver[ver1] and statver[ver]!=['',''] and statver[ver1]!=['',''] :
В этом куске кода почему-то игнорируется continue. И в итоге например для второго класса этот сисок имеет вид:
checkn:
Хотя по идее должно бысть checkn=
А в newclas записываются лишние вершины ( по идее там должно было быть только 3, а 2 и 5 отдельно).

Но проблема, мне кажется, в continue, поскольку перехода на новую вершину не получается.
s0rg
А что вообще должно происходить на этом участке?
я бы добавил вывод туда i2 и checkn )

UPD: Проверил у себя - вывод есть, значит заход в эту ветку происходит и continue выполняется.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB