Python 2.7 Python 2中的错误函数

Python 2.7 Python 2中的错误函数,python-2.7,Python 2.7,我有以下python代码 def nhap(a, b): a = input("Enter number a: ") b = input("ENter number b: ") def plus(a, b): nhap(a, b) print "Sum 2 so la: ", a + b def minus(a, b): nhap(a, b) print "Minus 2 so la: ", a - b def asterisk(a,

我有以下python代码

def nhap(a, b):
   a = input("Enter number a: ")
   b = input("ENter number  b: ")


def plus(a, b):
    nhap(a, b)
    print "Sum 2 so la: ", a + b

def minus(a, b):  
     nhap(a, b)
     print "Minus 2 so la: ", a - b

def asterisk(a, b):
     nhap(a, b)
     print "Asterisk 2 so la: ", a*b

def slash(a, b):
    nhap(a, b)
    print "Slash 2 so la: ", a/b

def start(): 
   while True:
      print "==================="
      print "[0] Enter number"
      print "[1] Sum"
      print "[2] except"
      print "[3] asterisk"
      print "[4] slash"
      print "[5] exit"
      print "==================="
      num = raw_input().strip()
      if num == '0':
        nhap(a, b)
      elif num == '1':
        cong(a, b)
      elif num == '2':
        tru(a, b)
      elif num == '3':
        nhan(a, b)
      elif num == '4':
        chia(a, b)
      elif num == '5':
        exit()
start()
当我运行我的程序时,我收到以下输出和错误

===================
[0] Enter number
[1] Sum
[2] except
[3] asterisk
[4] slash
[5] exit
===================
0


Traceback (most recent call last):

 File "abc.py", line 46, in <module>

start()

File "abc.py", line 35, in start

 nhap(a, b)

NameError: global name 'a' is not defined
===================
[0]输入数字
[1] 总数
[2] 除了
[3] 星号
[4] 刀砍
[5] 出口
===================
0
回溯(最近一次呼叫最后一次):
文件“abc.py”,第46行,在
开始()
文件“abc.py”,第35行,开头
nhap(a、b)
NameError:未定义全局名称“a”

如何正确调用函数
nhap()
,以接受两个数字并执行正确的数学运算?

在函数
nhap
中可以得到
a
b
。注意,它不接受
a
b
,而是从控制台输入获取它们并返回。我们需要的是让它以元组的形式返回它们。我们开始:

#!/usr/bin/python

def nhap():
   a = input("Enter number a: ")
   b = input("ENter number  b: ")
   return (a, b)

def plus():
    (a,b) = nhap()
    print "Sum 2 so la: ", a + b

def minus():  
    (a, b) = nhap()
    print "Minus 2 so la: ", a - b

def asterisk():
    (a, b) = nhap()
    print "Asterisk 2 so la: ", a*b

def slash():
    (a, b) = nhap()
    print "Slash 2 so la: ", a/b

def start(): 
    while True:

       print "Enter number"
       print "==================="
       print "[1] Sum"
       print "[2] except"
       print "[3] asterisk"
       print "[4] slash"
       print "[nother button] exit"
       print "==================="

       num = raw_input().strip()        
       if num == '1':
           plus()
       elif num == '2':
           minus()
       elif num == '3':
           asterisk()
       elif num == '4':
           slash()
       else:
           exit()
start()

应添加/修复的内容:在
nhap
功能中处理非数字输入。我把它留给你了

start
函数中,您没有实例化这两个变量。@KevinKien现在一切都安排好了吗?