为什么在python中使用执行简单计算的if语句编写并打印时,没有显示任何内容?

为什么在python中使用执行简单计算的if语句编写并打印时,没有显示任何内容?,python,if-statement,Python,If Statement,尝试编写一个函数,根据产品重量计算运输产品的基本成本 def ground_cost(weight): if weight<=2: price= 1.5*weight + 20 elif (weight>2) and (weight<=6): price=3*weight + 20 elif (weight>6) and (weight<=10): price=4*weight + 20 else: price=4.

尝试编写一个函数,根据产品重量计算运输产品的基本成本

def ground_cost(weight):
  if weight<=2:
    price= 1.5*weight + 20
  elif  (weight>2) and (weight<=6):
    price=3*weight + 20
  elif (weight>6) and (weight<=10):
    price=4*weight + 20
  else:
    price=4.7*weight + 20
    return price

print(ground_cost(8.4))
def地面成本(重量):

如果权重为2)和(权重为6)和(权重您的返回语句嵌入到final
else
子句中,它需要与初始
if
处于相同的缩进位置。在您的代码示例中,这永远不会达到,因此函数返回默认值
None
,因为没有遇到返回语句。

正确缩进您的返回语句:

def ground_cost(weight):
  if weight<=2:
    price= 1.5*weight + 20
  elif  (weight>2) and (weight<=6):
    price=3*weight + 20
  elif (weight>6) and (weight<=10):
    price=4*weight + 20
  else:
    price=4.7*weight + 20
  return price

print(ground_cost(8.4))
def地面成本(重量):

如果是weight2)和(weight6)和(weightBTW),则不需要某些条件。
elif(weight>2)和(weight)