1
resposta

encontrei a soluçao


def ex ():
 chute = input('qual o seu palpite')
        chute = chute.upper().strip()
        if chute in palavra_secreta:
            index=0
            for letra in palavra_secreta:
                if chute == letra:
                    acerto[index] = letra
                index +=1

não entendi como repassa os valores de cada variável importante tais como acerto , chute e se tiver ate mais variáveis eu como faço para usar tudo fora da função ex() poderiam me explicar cada passo gosto de entender como tudo funciona passo a passo só assim poderei usar com amplo domínio no meu dia a dia. resumindo minha duvida e como da o valor de cada variável separadamente para serem usadas depois fora do escopo criado.

caso fosse necessário pedir um print do meu acerto ou chute como pedir esse print já que só vai existir a função ex()

1 resposta

Olá Leonardo, tudo bem com você?

Peço desculpas pela demora no retorno.

Quando temos uma ou mais variáveis declaradas fora de uma função, o Python interpreta essas variáveis como variáveis globais, as variáveis globais ficam disponíveis para uso em toda extensão de código abaixo de sua declaração.

Assim, em nosso código as variáveis palavra_secreta e acerto estão disponíveis para uso pela função ex() e se criarmos outras funções podemos fazer o uso dessas duas variáveis.

As variáveis declaradas dentro de uma função serão variáveis local, disponível apenas dentro da função a qual foi declarada, caso seja necessário fazer o uso dos valores salvos em uma variável declarada em uma função, devemos fazer o uso da cláusula 'return' que irá retornar o valor que foi salvo na variável.

def foo():
    bar = 1 + 1
    return bar

Podemos também salvar o resultado da função em uma nova variável, e assim fazer o uso desse valor fora da função a qual a variável foi declarada.

No exemplo de código abaixo, temos que a função ex() retorna o valor presente na variável acerto e este será retornado como resultado da função e salvo na variável acerto_retornado, neste momento podemos realizar o uso dos valores, como na impressão da mensagem.

palavra_secreta = 'BANANA'
acerto = ['_', '_', '_', '_', '_', '_']


def ex():
    chute = input('Qual o seu palpite: ')
    chute = chute.upper().strip()
    if chute in palavra_secreta:
        index = 0
        for letra in palavra_secreta:
            if chute == letra:
                acerto[index] = letra
            index += 1
    return acerto


acerto_retornado = ex()

print('Este é o valor do acerto retornado: {}'.format(acerto_retornado))

`

Resultado

Qual o seu palpite: a
Este é o valor do acerto retornado: ['_', 'A', '_', 'A', '_', 'A']

Em resumo temos que quando precisamos fazer o uso de um valor salvo em uma variável declarada dentro de uma função devemos retornar esse valor com o uso da cláusula return assim esse valor será disponibilizado como um resultado da função (retorno) podendo ser utilizado fora da função.

Fico à disposição em caso de dúvidas.

Abraços e bons estudos.

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