如何将值从闭包内返回到外部作用域? Python3

时间:2017-04-22 20:05:17

标签: python python-3.x

我正在制作一个程序来检查答案是正确还是不正确,如果不正确则会将错误答案的数量加1,我的问题是我无法将其值返回到外部范围< / p>

import pickle as p

def Ask(question):
    def Asked(txt, solution):
        wrongans = 0
        print(txt + " (True, False)")
        answer = eval(input())
        if answer == solution:
            print("Correct")
        elif answer != solution:
            wrongans += 1
            print(wrongans)
        else:
            print("ERORR")
    return Asked

@Ask
def Q(txt, solution):
    pass

with open('db', 'rb') as f:
    dict = p.load(f)
    for key in dict:
        Q(key, dict[key])

注意:我正在从另一个创建它们的脚本中解开问题 注意:我仍然是python装饰器的新手。 谢谢你的时间:D

更新:尝试此代码时

if answer == solution:
    print("Correct")
elif answer != solution:
    wrongans += 1
    return wrongans
else:
    print("ERORR")

我收到此错误

  

追踪(最近一次通话):     文件“/PlayQs.py”,第30行,in       打印(wrongans)   NameError:名称'wrongans'未定义

0 个答案:

没有答案