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)