Jump to content

Python: como permitir apenas numeros no input


Recommended Posts

0

oii! estou tentando fazer um jogo de tabuada, mas se o usuario não digita um numero o codigo da erro... como faço pra ele reconhecer o erro e informar ao usuario para digitar somente numeros (na minha variavel 'resposta')?

 

Parte do Código:

while contador < 5:

contador = contador + 1

num1 = randint(0,6)

num2 = randint(0,6)

resposta = input(f'{num1} x {num2} = ')

resolva = num1 * num2

if int(resposta) == resolva:

                  contador2 = contador2 + 1

if int(resposta) != resolva:

                 print(f'Péen! Na verdade é {resolva}')

Link to comment
Share on other sites

  • Pessoal da TecnoSpeed

Se você não precisar que valide enquanto digita, pode ser feito assim:

while True:
    try:
        resposta = int(input(f'{num1} x {num2} = '))
        break
    except:
        print("Número inválido")

 

  • Curtir 1
Link to comment
Share on other sites

23 horas atrás, FabioCorrea disse:

Se você não precisar que valide enquanto digita, pode ser feito assim:

while True:
    try:
        resposta = int(input(f'{num1} x {num2} = '))
        break
    except:
        print("Número inválido")

 

oi!!

Eu tentei assim:

mas em vez de parar fica repetindo :

image.png

Link to comment
Share on other sites

  • Pessoal da TecnoSpeed
13 horas atrás, Mil disse:

oi!!

Eu tentei assim:

mas em vez de parar fica repetindo :

image.png

O tipo (type(resposta)) nunca será int pois a saída do input é sempre string, mesmo que se digite apenas números.

Link to comment
Share on other sites

  • 1 year later...
Em 11/05/2022 at 19:01, Mil disse:

0

oii! estou tentando fazer um jogo de tabuada, mas se o usuario não digita um numero o codigo da erro... como faço pra ele reconhecer o erro e informar ao usuario para digitar somente numeros (na minha variavel 'resposta')?

 

Parte do Código:

while contador < 5:

contador = contador + 1

num1 = randint(0,6)

num2 = randint(0,6)

resposta = input(f'{num1} x {num2} = ')

resolva = num1 * num2

if int(resposta) == resolva:

else

                  contador2 = contador2 + 1

if int(resposta) != resolva:

else

                 print(f'Péen! Na verdade é {resolva}')

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...