Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Mudou o nome e mesmo assim funciona

Nesse tópico https://cursos.alura.com.br/forum/topico-boiei-nas-funcoes-151213 há a seguinte explicação para o código a seguir: Troquei o nome valor por calculo no escopo B. E mesmo assim o código funciona. Nós não passamos O NOME DAS VARIAVEIS como parametro, mas sim os "O QUE ELAS ESTÃO ARMAZENANDO". Está em aspas pq não é bem asism, mas podemos nos abstrair desse conceito para essa resposta. Se tive curiosidade, busque por "passagem por valor ou referencia"

#escopo A
def programa():
    numero_1 = 2
    numero_2 = 4

    valor = calculo_complexo(numero_1, numero_2) 
    print(valor)
#fim do escopo A

#escopo B
def calculo_complexo(parametro_1, parametro_2): 
    calculo = (parametro_1 * parametro_2)/(parametro_2 - parametro_1)
    return calculo 
#fim do escopo B

programa()COPIAR CÓDIGO

Se é isso que acontece, como a função vai saber a qual parâmetro se refere? Ele mudou todos os nomes, parametros, variaveis internas? Então, quando a função é chamada, não entendi como ela vai saber se o parametro_2 na função B se refere ao numero_2 na função A.

1 resposta
solução!

Basicamente funciona assim, toda vez você cria uma função e ela possui parametros você precisa dar nome para esses parametros, mas esses nomes só servem para indentificar o parametro. Exemplo:

def calculo_complexo(parametro_1, parametro_2): 
    calculo = (parametro_1 * parametro_2)/(parametro_2 - parametro_1)
    return calculo

Entretanto ao chamar a função você precisa especificar qual é o valor que cada parametro deve ter, Esse valor pode ser uma string, int, float bool ou uma variavel. Então quando você chama a função, você escreve o valor dela e não o nome do parametro Exemplo:

valor = calculo_complexo(numero_1, numero_2) 

Perceba que numero_1 é o nome da variavel e numero_2 também. então a função irá linkar numero_1 com o parametro_1 e linkar a variavel numero_2 ao parametro_2. Este link pertece apenas ao momento em que a função é chamada com essas variaveis, caso ela seja chamada novamente com outras variaveis o link será com essas novas variaveis. Exemplo:

valor = calculo_complexo(5000, 200)