Oi! Tudo certo?
Sim, dá pra usar os operadores lógicos para buscar os dois nomes no exemplo que você trouxe, mas é importante ajustar a forma como a condição está escrita. No seu código, a linha:
if nome_1 or nome_2 in lista
O problema é que o Python entende isso assim:
"Se nome_1
for verdadeiro ou se nome_2
estiver na lista"
E aí vem a parte importante: em Python, qualquer texto (string) que não está vazio é considerado verdadeiro. Por exemplo:
nome = 'Ana'
if nome:
print('Isso é verdadeiro') # Vai mostrar isso
Então, mesmo que nome_1
não esteja na lista, o Python considera ele como "verdadeiro", porque tem texto dentro. E por isso seu código pode funcionar de um jeito que você não esperava.
Se você quiser saber se pelo menos um dos nomes está na lista, escreva assim:
if nome_1 in lista or nome_2 in lista:
print('Um dos nomes está na lista')
else:
print('Nenhum dos dois está na lista')
Agora, se você quiser saber se os dois nomes estão na lista, escreva assim:
if nome_1 in lista and nome_2 in lista:
print('Os dois nomes estão na lista')
else:
print('Pelo menos um deles não está na lista')
Espero ter ajudado.
Qualquer dúvida, compartilhe no fórum.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!