[英]ValueError in Matrix Operation in Python
我正在尝试对可能未定义的矩阵进行矩阵运算。 (即A为2x2,不能与3x2的B相乘。)
print '3.1) ',
try: a + c
except ValueError: print 'Not Defined'
这可行,但是我有多个操作,因此我尝试创建一个如下函数:
def matrix(math):
try: math
except ValueError: print "Not Defined"
print math
其中数学是AB或(A + B)之类的运算。
但是,该代码不适用于未定义的操作。 如何将其固定到在已定义和未定义函数上都起作用的位置?
感谢您的时间。
一种解决方案:
def matrix(A, B, function):
try:
print function(A,B)
except ValueError:
print "Not Defined"
例如,其中的功能:
def function(A,B):
return A+B
您需要将表达式作为字符串传递,并等待对其求值,直到您进入函数的try块:
def matrix(math_string):
try: result = eval(math_string)
except ValueError:
print "Not Defined"
return
print result
使用看起来像这样:
matrix('a + b')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.