Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Usar o operador OR

Pessoal, estava fazendo o seguinte exercício:

Escreva um programa que pergunte em qual turno a pessoa usuária estuda ("manhã", "tarde" ou "noite") e exiba a mensagem "Bom Dia!", "Boa Tarde!", "Boa Noite!", ou "Valor Inválido!", conforme o caso.

Tentei usar OR para mais de uma opção de input válida, porém, usando o OR, o retorno é sempre do primeiro print (nesse caso, 'Bom dia!'). Como eu faço para ter mais de uma opção de str válida para uma mesma condicional sem precisar ficar repetindo?

turno = str(input('Escreva em que turno você estuda: '))

if turno == 'manhã' or 'manha' or 'diurno':
  print('Bom dia!')
elif turno == 'tarde' or 'matutino':
  print('Boa tarde!')
elif turno == 'noite' or 'noturno':
  print('Boa noite!')
else:
  print('Valor Inválido!')
2 respostas
solução!

boa noite,

Acredito que o correto seria vc escrever a sintaxe igual esta abaixo, testei aqui e funcionou.

turno = str(input('Escreva em que turno você estuda: '))

if turno == 'manhã' or turno== 'manha' or turno=='diurno':
  print('Bom dia!')
elif turno == 'tarde' or turno=='matutino':
  print('Boa tarde!')
elif turno == 'noite' or turno=='noturno':
  print('Boa noite!')
else:
  print('Valor Inválido!')

Obrigada pela ajuda!