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

Exercício 3: uma variável diferente...

no exercício 3 desta unidade, usando a resolução for , me deparei com um retorno "VallueError" caso o usuário insira um float ou string. como resolver isso?

também realizei usando o "while... mas como resolver a mesma questão na minha resolução? não sei onde colocar o try - except em caso de uma variável que não seja um número inteiro. :(

repeticao = 1
while repeticao <= 15:
  notas = int(input(f'digite a nota da {repeticao}ª usuária: '))
  if notas >= 0 and notas <= 5:
    print('nota atribuída válida')
  else:
    print('nota atribuída não é válida - digite novamente a nota')
    continue
  repeticao += 1
print('todas as notas verificadas são válidas!')

ela funciona perfeitamente, desde que o usuário não insira um número que não seja inteiro. alguma sugestão???

valeuuuuuuu!!!! :D

2 respostas
solução!

Olá Andreh, tudo bem com você?

Usar o try-except para esse problema é uma boa solução. Exemplo de como aplicar:

repeticao = 1
while repeticao <= 15:
    try:
        notas = int(input(f'digite a nota da {repeticao}ª usuária: '))
        if 0 <= notas <= 5:
            print('nota atribuída válida')
            repeticao += 1
        else:
            print('nota atribuída não é válida - digite novamente a nota')
    except ValueError:
        print('Por favor, digite um número inteiro válido.')
print('todas as notas verificadas são válidas!')

Resultado:

Gif que mostra o resultado após a aplicação do Try Except, onde as notas são validadas apenas para aceitar número inteiro

Neste código, a função int() é usada para tentar converter a entrada do usuário em um número inteiro. Se a entrada não puder ser convertida para um número inteiro (por exemplo, se o usuário inserir uma string ou um float), uma exceção ValueError será gerada. A estrutura try-except captura essa exceção e imprime uma mensagem solicitando que o usuário insira um número inteiro válido.

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

obrigado pelo retorno, Rafael!!!

eu só não estava conseguindo pensar onde colocar o try-except" nesse código e usando "continue" dava conflito. usando o operador de atribuição += 1 foi uma mão na roda!!!

abraços!!!!!