Python 2.7 我的代码没有错误,函数不返回结果

Python 2.7 我的代码没有错误,函数不返回结果,python-2.7,Python 2.7,我为一个HW创建了这个函数,但是每次我运行它,python都不会返回任何结果 我做错了什么 骡子 def mult(n,m): “”“输入两个字符串 输出这些数字的乘积 """ 如果n==0或m==0: 返回 在Python中,elif m是一个转换动词。这有点像动词“say”或“go” 说什么?去哪里?还什么 您似乎认为return只是将执行流返回给调用方(可能返回上一个计算表达式的值),但它不是这样工作的 def add(x,y): return x+y 返回x和y的和 def ad

我为一个
HW
创建了这个函数,但是每次我运行它,python都不会返回任何结果

我做错了什么

骡子
def mult(n,m):
“”“输入两个字符串
输出这些数字的乘积
"""
如果n==0或m==0:
返回

在Python中,elif m是一个转换动词。这有点像动词“say”或“go”

说什么?去哪里?还什么

您似乎认为
return
只是将执行流返回给调用方(可能返回上一个计算表达式的值),但它不是这样工作的

def add(x,y):
   return x+y
返回x和y的和

def add(x,y):
    x+y
    return

不返回任何内容(在Python中称为
None
)。它计算x和y的总和,但随后丢弃结果。

返回
视为“给打电话给我的人”

因此,如果我需要一个4,我可以调用我的方便的新函数:
print(“四是”,四())
print()
调用
four()
以获得结果。如果我用空的return语句定义
four()
,它不会给我任何东西

def four():
    4
    return

print("four is ", four()) # four is None
return
与递归是相同的“给调用方”原则,只是更复杂

def add(n,m):
    """add two integers together. The second integer
    cannot be negative"""
    if m == 0:
        return n
    else:
        return 1 + add(n, m-1)
为简单起见,第二个数字不能小于0。现在,考虑一下算法,以及
返回如何影响它。如果
m
为零,则
n+0==n
,因此我们只需要
返回n
。否则,我们将在最终答案中添加一个,并从
m
中减去一个

添加(2,3)
成为
1+add(2,2)
(返回的
return
意思是“给打电话给我的人”,这是
add(2,)
),它变成
1+1+add(2,1)
,变成
1+1+add(2,0)
,当我们在第二个位置看到零,我们就用第一个数字替换它,所以它变成了
1+1+1+2
,也就是
5

您需要调整间距,否则很难判断pythonI等空间敏感语言中可能存在的问题,我不是Python专家,但您的return语句都不会返回任何值;那将是一个很好的开始。。。
def four():
    4
    return

print("four is ", four()) # four is None
def add(n,m):
    """add two integers together. The second integer
    cannot be negative"""
    if m == 0:
        return n
    else:
        return 1 + add(n, m-1)