7
respostas

Minha def não roda


boas_vindas()

    seu_nome = (input("digite seu nome aqui:"))
    seu_nome = seu_nome.capitalize().strip()
    print("seu nome é", seu_nome)

    codigo_sc = 10
    rodada = 1
    total_de = 3

    for rodada in range (1, total_de + 1):
        print("tentativa {} de {}.".format(rodada, total_de))
        chute_c = int (input("digite o codigo de segurança:"))

        if(chute_c == codigo_sc):
            print("você acertou!")
            break
        else:
            print("você errou!")

    lista_de_nomes = ["luigge", "cibele", "william", "lucca"]
    pedido_de_nome = input("fale aqui um nome de um membro de sua familía!:")
    pedido_de_nome = pedido_de_nome.strip()

    if(pedido_de_nome in lista_de_nomes):
        print("acesso concedido!")
    else:
        print("acesso negado!")



    print("agora voce vai ter que adivinhar uma palavra hahah!")

    palavra_sc = "amor".upper()
    enforcou = False
    acertou = False
    erros = 0
    letras_acertadas = ["_", "_", "_", "_"]

    print(letras_acertadas)

    while(not enforcou and not acertou):

        chute_c = input("digite uma letra:")
        chute_c = chute_c.strip().upper()

        if(chute_c in palavra_sc):
            index = 0
            for letra in palavra_sc:
                if(chute_c == letra):
                    letras_acertadas[index] = letra
                index += 1

        else:
            erros += 1
            print("ops, você errou! faltam {} tentativas.".format(6-erros))

        enforcou = erros == 6
        acertou = "_" not in letras_acertadas
        print(letras_acertadas)


    if(acertou):
        print("você acertou!!")
    else:
        print("você errou!!")

def boas_vindas():
    print("==================")
    print("seja bem vindo!")
    print("==================")
7 respostas
boas_vindas()

    seu_nome = (input("digite seu nome aqui:"))
    seu_nome = seu_nome.capitalize().strip()
    print("seu nome é", seu_nome)

Se esta era para ser sua def, faltou avisar o python que é uma def:

def boas_vindas():

Se era para ser uma chamada à def lá de baixo, tem um problema com identação, que no Python deve ser rigorosa.

Desconsiderando a def de cima, eu queria apenas deixá-la lá em baixo no final do código e chamá-la em cima no começo do código é possível?


boas_vindas()

    codigo_sc = 10
    rodada = 1
    total_de = 3

    for rodada in range (1, total_de + 1):
        print("tentativa {} de {}.".format(rodada, total_de))
        chute_c = int (input("digite o codigo de segurança:"))

        if(chute_c == codigo_sc):
            print("você acertou!")
            break
        else:
            print("você errou!")

    lista_de_nomes = ["luigge", "cibele", "william", "lucca"]
    pedido_de_nome = input("fale aqui um nome de um membro de sua familía!:")
    pedido_de_nome = pedido_de_nome.strip()

    if(pedido_de_nome in lista_de_nomes):
        print("acesso concedido!")
    else:
        print("acesso negado!")



    print("agora voce vai ter que adivinhar uma palavra hahah!")

    palavra_sc = "amor".upper()
    enforcou = False
    acertou = False
    erros = 0
    letras_acertadas = ["_", "_", "_", "_"]

    print(letras_acertadas)

    while(not enforcou and not acertou):

        chute_c = input("digite uma letra:")
        chute_c = chute_c.strip().upper()

        if(chute_c in palavra_sc):
            index = 0
            for letra in palavra_sc:
                if(chute_c == letra):
                    letras_acertadas[index] = letra
                index += 1

        else:
            erros += 1
            print("ops, você errou! faltam {} tentativas.".format(6-erros))

        enforcou = erros == 6
        acertou = "_" not in letras_acertadas
        print(letras_acertadas)


    if(acertou):
        print("você acertou!!")
    else:
        print("você errou!!")

def boas_vindas():
    print("==================")
    print("seja bem vindo!")
    print("==================")

Luigge, não sou especialista em Javascript, mas conhecendo um pouco de programação em outras linguagens, eu diria que não.

Pensando em como "roda" um script, não seria possível. O navegador vai lendo o código de cima para baixo. Quando ele encontra a declaração de uma função, coloca em um "pedaço" de memória e guarda lá para usar depois. Se ele chega em um trecho do código que chama uma função que ele ainda não "leu" ele não saberia o que fazer com isso.

Com Java seria diferente, pois como a linguagem é "compilada" a máquina virtual conhece todos os métodos e classes antes de começar a executar o programa.

Eu tô escrevendo em Python, na aula o professor disse que não teria problema, colocar a função no final. Estranho kkk

Santa distração. Estou na formação de Java e realmente não me atentei que era Python. Tinha acabado de responder uma questão em javascript. Peço perdão pelo erro.

Não sei a a informação que dei acima procede em Python, já que também é uma linguagem não compilada, mas se o seu professor disse que não, então vou acreditar nele.

Eu mantenho a prática de sempre definir as funções na parte superior do código, mesmo em Python. Como estou programando sempre com Classes, defino a classe primeiro (sempre uma por programa) e se tiver um código a ser executado, escrevo após o final da classe. Em uma tela usando o pacote wx, depois da classe vem o seguinte trecho:


def main():
    app = wx.App()
    frmApelacao = FrmApelacao()
    app.MainLoop()


if __name__ == '__main__':
    main()

Kkkkk tudo bem a cabeça as vezes fica a mil!! Mas queria muito entender isso kkkk porque não esta funcionando, no começo funciona, mas se eu declarar em baixo e usar em cima não roda