函数不返回变量值

我正在创建一个问答代码,我需要问题函数来返回 resposta_usuario 值,但它没有发生


问答游戏代码


perguntas = open('perguntas.txt','r')

respostas = open('respostas.txt','r')

respostas_linha = respostas.readlines()

c = 0

score = 0



def pergunta():

    #Mostra a pergunta guardada no perguntas.txt e retorna a resposta do usuário

    for linhas in perguntas:

        if linhas == '\n':

            resposta_usuario = input('Qual sua resposta?: ')

            return resposta_usuario     <------ THE PROBLEM IS HERE 

        else:

           print (linhas)



def verificar(resposta_usuario):

    if resposta_usuario == respostas_linha[c]:

        print('Resposta Correta')

        c=+c

        score = score + 10

        pergunta()

    else:

        print('Fim de jogo!')

        print('Tente novamente')




pergunta()

print(resposta_usuario)

我期望 resposta_usuario 值的输出,但实际输出是


NameError:未定义名称“user_response”


莫回无
浏览 93回答 2
2回答

隔江千里

您在函数内部创建变量,因此它的范围仅在函数内部可用,函数外部的代码无法看到它或通过 nae 引用它。您的函数返回值,但您不存储返回值。所以要么打印将打印返回值的函数调用print(pergunta())或将函数的返回值存储在函数外范围内的变量中resposta_usuario = pergunta()print(resposta_usuario)

阿波罗的战车

您需要打印函数的返回值。resposta_usuario在您使用它的范围内未定义:print(pergunta())
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python