我有点停留在基本语法错误上,但看不到它。有什么想法吗?标记为### <---
通过帮助程序文件调用此函数以在主文件中为true时循环。它一直运行到下面指出的错误为止。
def simulateTree():
建立变种
age = 0
avg_lifespan_tree = 3
life_expectancy = random.normalvariate(avg_lifespan_tree, 1)
设置条件while循环
while (age < life_expectancy):
age = age + 0
sigma = 1
mu_d = .1
d_growth = float (abs (random.normalvariate(mu_d, sigma)))
d0 = 0
return age
定义增长计算器
def growth_calculate(sigma, d_growth, d0):
yearly_growth = age * (height_growth() + d_growth())
growth = 0 + yearly_growth
定义高度计算器
def height_growth(sigma, d_growth, d0):
diameter = d0 + d_growth
b1 = .35
b2 = .25
b3 = .35
e_pow = - b2 * diameter
e = math.pow(math.e, e_pow)
e_1 = 1 - e
e_2 = math.pow(e_1, b3)
return (e_2*b1), diameter
h = growth_calculate(sigma, mu_d, d0)
错误如下。我将整个内容附加在上下文中。
def carbon_calc(h,diameter):
if (diameter<11):
w = .25
return w
else (diameter>=11): ### <---invalid syntax error here
w = .15
return w
weight_above_ground = w * diameter * diameter * h
weight_total = 1.2 * weight_above_ground
weight_dry =weight_total * .725
weight_carbon = weight_dry * .5
C = weight_carbon * 3.6663
return C
我添加了一些多余的文本来实现堆栈溢出的目标,尽管问题很简单直接。可变定向设计是一个问题。我添加了一些多余的文本来实现堆栈溢出的目标,尽管问题很简单直接。这是一个面向可变设计的问题。即使问题很简单直接,我还是添加了一些多余的文本来达到堆栈溢出的目的。这是面向可变设计的问题。即使问题很简单直接,我还是添加了一些多余的文本来达到堆栈溢出的目标。这是面向可变设计的问题。即使问题很简单直接,我还是添加了一些多余的文本来达到堆栈溢出的目标。这是面向可变设计的问题。即使问题很简单直接,我还是添加了一些多余的文本来达到堆栈溢出的目标。这是面向可变设计的问题。即使问题很简单直接,我还是添加了一些多余的文本来达到堆栈溢出的目标。这是面向可变设计的问题。即使问题很简单直接,我还是添加了一些多余的文本来达到堆栈溢出的目标。这是面向可变设计的问题。即使问题很简单直接,我还是添加了一些多余的文本来达到堆栈溢出的目标。可变定向设计是一个问题。
最佳答案
亲密无间,您需要的不是else
,而是elif
。更改它,您就完成了!
为什么?
因为else
不带条件参数。其他所有条件均为False
时,将运行其块中的代码。好吧,elif
可以,这就是您想要的。
你可以这样做:
elif (diameter>=11):
w = .15
return w
要么:
else: #d is not < 11, so it must be >= 11
w = .15
return w
引用:http://docs.python.org/2/reference/compound_stmts.html#else
希望这可以帮助!
关于python - 无效的语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20112500/