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

Erro no input da str

Intuito é ler e validar as informações solicitadas O programa deve imprimir uma mensagem de erro para cada informação inválida. Input do usuário:

def questaoextra():
  idade = int(input('Informe sua Idade entre 0 e 150: '))
  salario = float(input('Informe seu saláro acima de "0": '))
  sexo = input('Informe seu sexo "M, F ou outro":  ')
  if idade > 150:
      print('valor para "Idade" informando não é válido')
  if  salario <= 0:
      print('Valor para "salário" informado não é válido')
  if  sexo != ['m', 'f', 'outro']:
      print('"sexo" informado não é válido')
  else:
    print(f'Idade: {idade}, Salário: {salario}, sexo: {sexo}')

O erro é na resposta do "Sexo": ""sexo" informado não é válido" já tentei "sexo = str(input('Informe seu sexo "M, F ou outro": '))", mas também não funcionou, sei que é algo besta que estou deixando passar a despercebido. Como posso resolver isso?

3 respostas

Altere a linha para

if not sexo in ['m', 'f', 'outro']: print('"sexo" informado não é válido')

solução!

Faça

 if not sexo in ['MmFf', 'outro']: print('"sexo" informado não é válido')

OU

 if not sexo.lower() in ['m', 'f', 'outro']: print('"sexo" informado não é válido') 

Show, os dois deram certo, eu usei no caso um ,,, if not sexo.lower() in ,,, Pra garantir que caixa alta não seja um problema, Vlw guys, ajudaram muito!!!