【发布时间】:2022-06-22 23:56:54
【问题描述】:
对不起,如果标题有点时髦。我将在这里更详细地解释一切。所以假设我有这个代码:
def function1(k):
return k * 2
def function2(k):
return k ** 2
func = 'Square'
for i in range(1, 10):
if func == 'Multiply':
function1(i)
elif func == 'Square':
function2(i)
如何修改上面的代码,使 if 语句可以跳出循环?似乎没有必要在每次迭代中检查func 的值,因为它不会在内部发生变化。循环。我正在寻找的是这样的:
def function1(k):
return k * 2
def function2(k):
return k ^ 2
func = 'Square'
if func == 'Multiply':
f = function1()
elif func == 'Square':
f = function2()
for i in range(1, 10):
f(i)
如果有什么不够清楚,或者我的要求是不可能的,请告诉我。谢谢!
【问题讨论】:
-
你非常接近;只需分配为
f = function1(这会将namef添加到引用中,因此两者都引用相同的函数)并继续f(i),然后调用它 -
注意:要在 Python 中对数字求平方,您需要使用
x**2,而不是x^2。后者是按位异或。 -
@ti7 非常感谢!快把我逼疯了哈哈哈
-
@0x5453 已更正。 Matlab残差:)
标签: python python-3.x function