1
resposta

Qual o erro na fórmula?

Boa noite galera, Estava tentando dar uma mudada nesse programa que estava mais simples mas sempre esbarro nesse ponto: como pego o qtd que está na def inform_qtd e colocar na def program_logic?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Fabio! Tudo bem?

No seu código atual, a função inform_qtd lê um valor e o armazena na variável local qtd, mas essa variável não está sendo passada para a função program_logic.

Para resolver isso, você pode fazer com que a função inform_qtd retorne o valor de qtd e, em seguida, chame essa função dentro de program_logic, atribuindo o valor retornado a uma variável que será usada no loop for. Aqui está um exemplo de como você pode fazer isso:

def inform_qtd():
    qtd = int(input('Digite a quantidade de números desejada: '))
    return qtd

def program_logic():
    quantidade = inform_qtd()  # Chamada da função 'inform_qtd' e armazenamento do valor retornado
    for c in range(quantidade):  # Uso da variável 'quantidade' no loop
        try:
            numero = int(input('Digite um número: '))
            list_num.append(numero)
        except:
            print('Valor inválido')
            tela_inicial()

    soma = sum(list_num)
    print(soma)

Note que agora a função inform_qtd tem uma instrução return qtd, que retorna o valor digitado pelo usuário. Na função program_logic, a variável quantidade recebe o valor retornado por inform_qtd e é usada no loop for.

Espero ter ajudado e bons estudos!

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