Como impedir ou tratar caso o usuário entre com caracter que não seja número?
jogo = int(input("Qual jogo?")) #se eu entro com caracter ou espaço recebo erro
ValueError: invalid literal for int() with base 10: ''
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Como impedir ou tratar caso o usuário entre com caracter que não seja número?
jogo = int(input("Qual jogo?")) #se eu entro com caracter ou espaço recebo erro
ValueError: invalid literal for int() with base 10: ''
Olá, tudo bem? Espero que sim!
Você pode realizar o tratamento de erros usando as cláusulas try e except, da seguinte forma:
try:
jogo = int(input("Qual jogo?"))
except:
print("O valor inserido precisa ser um número inteiro")Você ainda pode tratar erros especificamente, utilizando o tipo de erro, por exemplo:
try:
jogo = int(input("Qual jogo?"))
except ValueError:
print("O valor inserido precisa ser um número inteiro")
raiseDessa forma, somente os erros do tipo ValueError terão essa mensagem especial, podendo ser adicionado por exemplo a cláusula raise, que faz com que o erro seja apresentado na tela.
Se quiser aprender mais sobre tratamento de erros, temos um curso sobre o assunto nesse link
Espero que tenha tirado sua dúvida.
Estou à disposição. Bons estudos!