Python NameError:name";a「;没有定义

Python NameError:name";a「;没有定义,python,calculator,nameerror,Python,Calculator,Nameerror,我将用Python编写一个calculator.py简单程序。 编译后,程序返回异常:“a”未定义。我怎样才能修好它 import math def control(a, x, y, z, k): return { 'ADDITION': addition(x, y), 'SUBTRACTION': subtraction(x, y), 'MULTIPLICATION': multiplication(x, y), 'DIV

我将用Python编写一个calculator.py简单程序。 编译后,程序返回异常:“a”未定义。我怎样才能修好它

import math
def control(a, x, y, z, k):
    return {
        'ADDITION': addition(x, y),
        'SUBTRACTION': subtraction(x, y),
        'MULTIPLICATION': multiplication(x, y),
        'DIVISION': division(x, y),
        'MOD': modulo(x, y),
        'SECONDPOWER': secondPower(x),
        'POWER': power(x, y),
        'SECONDRADIX': secondRadix(x),
        'MAGIC': magic(x, y, z, k)
    }[a]
def addition(x, y):
    return float(x) + float(y)
def subtraction(x, y):
    return float(x) - float(y)
def multiplication(x, y):
    return float(x) * float(y)
def division(x, y):
    return float(x) / float(y)
def modulo(x, y):
    return float(x) % float(y)
def secondPower(x):
    return math.pow(float(x),2.0)
def power(x, y):
    return math.pow(float(x),float(y))
def secondRadix(x):
    return math.sqrt(float(x))
def magic(x, y, z, k):
    l = float(x) + float(k)
    m = float(y) + float(z)
    return (l / m) + 1.0
try:
    control(a, x, y, z, k)
except ValueError:
    print("This operation is not supported for given input parameters")
out = control(a, x, y, z, k)
print(out)
回溯(最近一次呼叫最后一次): 控制(a,x,y,z,k)
NameError:未定义名称“a”

,这是因为在try循环中运行控件之前,您从未将“a”分配给任何对象。在运行控件之前,尝试将某些内容分配给“a”

try:
    control(a, x, y, z, k)

这是因为在try循环中运行control之前,您从未为任何对象分配过“a”。在运行控件之前,尝试将某些内容分配给“a”

try:
    control(a, x, y, z, k)

那么你只需要做:
try:a=input()控件(a,x,y,z,k)
这样,“a”在你运行控件函数之前被初始化。那么你只需要做:
try:a=input()控件(a,x,y,z,k)
这样,“a”在你运行控件函数之前被初始化。