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

[DUVIDA] Exercício 5

Consegui realizar os exercícios mas não consigo contornar o seguinte problema do Ex 5:

Usando os blocos try / except, eu tentei colocar 'return' dentro de except para voltar para o bloco try. Mas não funciona, sempre que entro com um caractere o programa fecha.

Alguém tem alguma sugestão?

def tabuada():
    try:
        numero = int(input('Insira um número para ver sua tabuada:'))

        for i in range(1,11):
            print(f'{numero} x {i} = {i * numero}')

    except:
        print('Erro')
        return

tabuada()
2 respostas
solução!

Bom dia Caio. Pelo que entendi, vc gostaria que o programa continue até que o usuário digite o valor correto? Se sim, neste caso, vc deveria usar um loop para controlar a entrada do valor inteiro. Vc poderia utilizar um while True: dentro dele o try except e fora dele fazer o for para imprimir o resultado.

Exemplo:

def tabuada():
    while True:  # Loop continua até que um número válido seja inserido
        try:
            numero = int(input('Insira um número para ver sua tabuada: '))
            break  # Saída do loop se a entrada for válida
        except ValueError:
            print('Erro: por favor, insira um número inteiro válido.')

    for i in range(1, 11):
        print(f'{numero} x {i} = {i * numero}')

tabuada()

Consegui. Muito obrigado!