Python:根据for循环中的条件选择功能?
抱歉,如果标题有些模糊。我将在这里更详细地解释一切。假设我有此代码:
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)
如果某事还不够清楚,或者我要问的是不可能的。
Sorry if the title is a little vague. I'll explain everything in greater detail here. So let's say I have this code:
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)
How can I modify the code above so that the if statement can go outside the loop? It seems unnecessary to check in every iteration the value of func
since it's not going to change inside. the loop. What I'm looking for is something like this:
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)
Let me know if something isn't clear enough or if what I'm asking isn't possible.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
将功能存储在
dict
中,然后您可以跳过语句。Store the function in a
dict
, then you can skip theif
statements.您可以执行此操作:
传递中的一个注:
^
操作员没有采用参数的正方形,而是在其上执行位XOR。You can do this:
One note in passing: the
^
operator is not taking the square of the argument, but rather performing bitwise xor on it.