python - 无效的语法?

标签 python syntax-error

我有点停留在基本语法错误上,但看不到它。有什么想法吗?标记为### <---

通过帮助程序文件调用此函数以在主文件中为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/

相关文章:

python - 使用 scrapy 在表中查找正确的数据

python - Pytest 版本冲突错误

python - 使用正则表达式 re.search 和 re.compile 的问题

ajax - Uncaught SyntaxError : Unexpected token < in jsf.js.faces?ln=javax.faces

python - 我的 python 解释器不识别字符串

java - 语法错误,插入 "}"来完成 ClassBody?

python - 如何使用元组的项目过滤元组列表?

python - Matplotlib - 线连接点不正确

python - 使用 python 计算 inode 使用百分比

python - 语法错误: invalid syntax for a beginner