2
respostas

como usar uma variável que não está dentro da função?

eu quero definir uma função e dentro dela quero colocar o resultado de variáveis que eu defini fora da função, existe algum comando para isso?

eu sei que se eu definir variáveis dentro da função eu posso retorna-las ao programa principal através do return. Portanto, imaginei que houvesse algum jeito de fazer o inverso.

2 respostas

Para isso basta você definir a variável escrevendo "global" a frente do nome dela indicando que você realmente quer tratá-la como uma variável global.

def func_1():
    global variavel_global 
    variavel_global += 1 #altera o valor da variavel_global
    print(variavel_global) #printa 2
    return

def main():
    global variavel_global
    variavel_global = 1
    print(variavel_global) #vai printar 1, como é o valor inicial que definimos
    func_1() #chama a funcao que quer alterar o valor da variavel_global
    print(variavel_global) #printa 2 mostrando que realmente foi alterado o valor

if __name__ ==  '__main__':
    main()

é o mesmo princípio quando a variável é de type lista ? (não sei exatamente se essa colocação é certa)

eu quero colocar uma variável de tipo int e uma de tipo list dentro de um escopo.

n_letras = len(palavra_secreta)
lista = ['_' for letra in palavra_secreta]
layout_forca = lista

pra cada letra da palavra secreta ele vai add um _ na lista, certo? essa lista seria o meu layout do game. então eu queria inserir essas variáveis aqui >

def layout():
    print('Você possui 6 tentativas.')
    print(f'Esta palavra possui {n_letras} letras.')
    print(layout_forca)
    space()