У меня есть это условие в моей программе:условия Basic Python
if vals[k]==vals[i] and i!=k:
Следующий код, если заявление получает пропускается при Vals [к] == 1, Vals [я] == 1, я == 2, и k == 0, когда я ожидал, что эти значения пройдут условия. Есть ли что-то принципиально неправильное в моем понимании синтаксиса Python?
Это для назначения, так что я не хочу, чтобы включить слишком много кода в случае, если я получаю обвиняют в обмане, но вот немного больше:
for k in range(i-i%4,i+4-i%4):
print vals[i]
print vals[k]
print i
print k
if vals[k]==vals[i] and i!=k:
isMatch = True
print 'rowmatch'
break
(игнорировать заявления для печати, они просто неуклюжие средства для отладки)
А вот копия части того, что возвращается отладчик:
[править] Russell B orogove был прав, и я сравнивал ints со строками. Почувствуйте себя довольно немым, спасибо за вашу помощь!
Работает для меня. Я думаю, нам нужно больше контекста; что-то может происходить в фоновом режиме, которое вы не осознали. –
Вы уверены, что 'vals [k] == 1, vals [i] == 1, i == 2 и k == 0'? – Igonato
Я удалил несколько отступов кода, поэтому он немного читаем и вставляем изображение. Для справок в будущем изображения не очень полезны для отображения такой информации - так что в следующий раз, пожалуйста, не стесняйтесь копировать и вставлять вывод отладчика в виде блока кода - таким образом - если кто-то хочет его скопировать/вставить и т. Д. .., они могут это сделать. Рад, что вы нашли свой ответ, хотя! –