无法理解如何在python中调用函数

问题描述

函数(正方形,立方体)如何存储在操作变量中。在这里如何调用函数?该代码如何实际执行?

def square(n):
 return n**2

def cube(n): 
 return n**3
operations = [square,cube]
numbers = [2,1,3,4,7,11,18,29]
for i,n in enumerate(numbers):
      action = operations[i % 2]
      print(f"{action.__name__}({n}):",action(n))

输出

square(2): 4
cube(1): 1
square(3): 9
cube(4): 64
square(7): 49
cube(11): 1331
square(18): 324
cube(29): 24389

解决方法

第一部分定义功能squarecube,并将每个功能的引用存储在操作列表中。

def square(n):
 return n**2

def cube(n): 
 return n**3
operations = [square,cube]

第二部分枚举并循环显示数字,square为偶数时使用i,反之则为cube

numbers = [2,1,3,4,7,11,18,29]
for i,n in enumerate(numbers):
      action = operations[i % 2]
      print(f"{action.__name__}({n}):",action(n))