В вашем условном выражении вы сравниваете с результатом pop. Итак, всплывающее окно должно быть выполнено, чтобы что-то на самом деле сравнить.
Подумайте об этом
temp = stack.pop()
if 4 != temp:
, если вы хотите проверить, есть ли конкретный элемент c в stack, и только pop (), если это так, вы можете использовать:
# Check if there is anything in the stack, to avoid accessing an invalid position
if (stack.count() > 0 ):
value = stack[-1]
if (value == 4:
stack.pop()
print( stack )
return False
else:
print( stack )
return True
Если вам это нужно чаще (или чтобы сделать код более читаемым), вы можете поместить его в небольшую функцию:
def peek( list ):
if ( list.count() > 0 ):
return list[-1]
else:
return None
if ( peek( stack ) == 4 ):
stack.pop()