我有一小段代码,我正试图以更好的方式编写,因为这段代码有很多“if”语句。这是一些大项目的小代码。问题是:在代码运行时,函数“f”、“g”或/和“k”不能返回任何数据或数字数据。只要没有返回任何值,就必须跳过其余的计算,因为数学运算(发生在这些函数中)无法完成。我试图用TRY/CATCH方法重写代码,但无法使其工作。我试图避免“如果”的陈述和重写简洁的方式。我很感激你的帮助。在def f(output):
#some code which computes output which be None or numerical
return [output*1,2]
def g(Y):
#some code which computes Y which be None or numerical
return Y*3
def k(output):
#some code which computes output which be None or numerical
return output*4
def foutput():
#some code which computes "value" which be None or numerical
value=2.0
return 1.0*value
#####START
#some code
output=foutput()
if output is not None:
print 'S1'
[output,A]=f(output)
if output is not None:
print 'S2'
[a,b,c,Y]=[1,2,3,k(output)]
if Y is not None:
print 'S3'
A=g(Y)
else:
[Q,A,output]=[None,None,None]
else:
[Q,A,output]=[None,None,None]
else:
[Q,A,output]=[None,None,None]