【发布时间】:2013-04-10 21:57:01
【问题描述】:
我想总结以下代码。它应该做的是检查计算中的变量是否已分配。如果不是,那么结果将为零。因为我有数百个这样的计算,所以我不想重复尝试,除了每个计算。
我该怎么做?
a = 1
b = 2
d = 3
f = 2
try:
ab = a + b
except:
ab = 0
try:
ac = a - c
except:
ac = 0
try:
bg = b / g
except:
ac = 0
【问题讨论】:
-
例外情况是什么?
-
如果一个变量没有赋值。
-
我的意思是一种更好的方式来构建代码而不是检查异常,恕我直言,您应该始终知道分配了哪些变量
-
我并不完全清楚您要在这里做什么,但也许不是允许取消分配某些变量(这是在交互式情况下吗?为什么不分配变量?),您可以将它们设置为
float('nan')。然后任何涉及未定义值的计算都将以nan传播。 -
更重要的是:这几乎可以肯定是XY problem。请解释你实际上想要做什么,以及为什么你认为你想要这个,我会给你很好的机会,我们可以解释如何解决你的实际问题,从而使明显的异常问题永远不会出现出现。