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

funções não alteram o valor da variável

Algumas funções não estão alterando os valores das variáveis como por exemplo

Insira aqui a descrição dessa imagem para ajudar na acessibilidadePor que, mesmo após eu trocar o valor da idade1 na função saudacao_idade a variável idade1 continua retornando 10?

1 resposta
solução!

Olá, Emmanuel, tudo bem?

Esse tipo de situação acontece porque as variáveis que são criadas ou alteradas dentro de uma função só existem dentro dela. Chamamos isso de variável local, ou seja, variáveis que só são utilizadas no local.

Como você tem uma variável com mesmo nome dentro e fora da função (idade1), quando você chama idade1 em outra célula ela vai passar apenas o valor que está fora da função. É como se existissem 2 variáveis idade1, em que uma delas é uma variável global (que pode ser chamada em qualquer lugar, inclusive dentro de uma função) e a outra é uma variável local (só existe dentro da função).

Caso quisesse o novo valor, o ideal seria retornar esse valor para uma variável que recebe a função que você deseja rodar (através do código return).

Por exemplo:

idade = 10

def saudacao_idade():
    idade = input("Quantos anos você tem? ")
    idade = int(idade)
    return idade

# Aqui retorna 10
idade

#Aqui retorna a idade que você criou
idade_nova = saudacao_idade()
idade_nova

Resultado:

Código explicado de variável global e variável local

Espero ter ajudado!

Forte abraço!

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