函数不返回变量值

2024-06-25 23:37:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个Q&;一段代码,我需要question函数返回resposta\u 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\u usuario值的输出,但实际输出是

名称错误:未定义名称“resposta\u usuario”


Tags: 代码txtifdefopenelsescoreprint
2条回答

在函数内部创建变量,使其作用域仅在函数内部可用,函数外部的代码无法看到它或通过nae引用它。函数返回值,但不存储返回值。所以要么打印函数调用,它将打印返回值

print(pergunta())

或者将函数的返回值存储在函数外部作用域中的变量中

resposta_usuario = pergunta()
print(resposta_usuario)

您需要打印函数的返回值resposta_usuario在您使用过的范围内未定义:

print(pergunta())

相关问题 更多 >