Python 函数的调用之计算圆的面积

我们要学习函数与函数之间的调用,就应该对函数调用的顺序与参数有清晰的认识,我们将会从五种情况让读者了解并掌握函数与函数之间的调用的基本关系和联系。

第一种情况

程序代码如下:

def x(f):
    def y():
        print(1)
    return y
def f():
    print(2)
x(f)

运行结果:

打印出无结果

分析:因为第9行中的x(f)中的f没有带括号,所以f只是一个普通的参数,所以程序只调用执行了x(f)函数,没有调用执行f()函数。x(f)函数中虽然也定义了y()函数,但是x(f)函数中没有调用执行y()函数,只是执行了return y。而y变量也没有值,所以整个程序的返回值就为无结果。

第二种情况

程序代码如下:

def x(f):
    def y():
        print(1)
    return y
def f():
    print(2)
x(f())

运行结果:

2

分析:因为第9行中的x(f())中的f()带括号,所以程序先调用执行f()函数,先输出2。然后2作为参数传入到x(f)函数中,程序开始调用执行x(f)函数。x(f)函数中虽然也定义了y()函数,但是x(f)函数中没有调用执行y()函数,只是执行了return y。而y变量也没有值,所以调用执行x(f)函数没有产生任何结果。

所以该程序最终只输出了2。

第三种情况

程序代码如下:

def x(f):
    def y():
        print(1)
    return y()
def f():
    print(2)
x(f)

运行结果:

1

分析:因为第9行中的x(f)中的f没有带括号,所以f只是一个普通的参数,所以程序只调用执行了x(f)函数,没有调用执行f()函数。x(f)函数中也定义了y()函数,并且返回是y()函数。所以程序调用执行了y()函数,输出结果是1。

第四种情况

程序代码如下:

def x(f):
    def y():
        print(1)
    return y()
def f():
    print(2)
x(f())

运行结果:

2
1

分析:因为第9行中的x(f())中的f()带括号,所以程序先调用执行f()函数,先输出2。然后2作为参数传入到x(f)函数中,程序开始调用执行x(f)函数。x(f)函数中也定义了y()函数,并且返回是y()函数。所以程序也调用执行了y()函数,也输出了1。

所以该程序先后输出了2和1。

第五种情况

程序代码如下:

def x(f):
    def y():
        print(1)
        print(f())
    return y()
def f():
    #print(2)
    return 2
x(f)

运行结果:

1
2

分析:因为第9行中的x(f)中的f没有带括号,所以f只是一个普通的参数,所以程序先只是调用执行了x(f)函数。在x(f)函数中也定义了y()函数,而且返回值是y()函数,所以程序会调用执行y()函数。在y()函数中先是执行print(1)语句,输出1。接着执行print(f())语句,所以程序在这时也会调用执行f()函数,输出2。

所以该程序先后输出了1和2。

以上是对函数与函数之间调用的五种情况的探讨与分析,函数作为参数传入另外一个函数中并进行调用的情况有很多,我们需要时刻注意函数调用的相关要求与细节,才能正确使用函数。

编程要求

本关的编程任务是补全src/step3/func_ref.py文件的代码,实现相应的功能。具体要求如下:

定义一个函数,要求实现圆的面积计算;
根据输入的不同整数值的半径,调用函数计算,输出圆的面积。

本关涉及的代码文件src/step3/func_ref.py的代码框架如下:

#coding=utf-8
from math import pi as PI
n = int(input())
# 请在此添加代码,实现圆的面积计算,并输出面积结果
#********** Begin *********#
#********** End **********#

测试说明

本关的测试文件是src/step3/func_ref.py,测试过程如下:

平台自动编译生成func_ref.exe;
平台运行func_ref.exe,并以标准输入方式提供测试输入;
平台获取func_ref.exe输出,并将其输出与预期输出对比。如果一致则测试通过,否则测试失败。

以下是平台对src/step3/func_ref.py的样例测试集:

测试输入:

4

预期输出:

50.27

代码:

#coding=utf-8
#导入模块pi,并命名为PI
from math import pi as PI
#获取输入的数,也就是半径
n = int(input())

# 请在此添加代码,实现圆的面积计算,并输出面积结果
#********** Begin *********#
#定义一个计算圆面积的函数
def mianJi():
    #返回计算出的圆面积
    return (PI*n*n)
#%.2f是保留两位小数,测试3四舍五入进来了。所以结果是113.1
print(float("%.2f" % mianJi()))
#********** End **********#
  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 当你想要计算面积时,可以使用Python中的函数进行计算。下面是一个计算面积函数定义和调用示例: 函数定义: ```python def circle_area(radius): pi = 3.14159 area = pi * radius ** 2 return area ``` 这个函数接收一个参数 radius,代表半径。在函数内部,我们使用数学常量 pi 和半径计算面积,并将结果存储在变量 area 中。最后,我们使用 return 语句将计算结果返回。 函数调用: ```python radius = 5 area = circle_area(radius) print("面积是:", area) ``` 在这个示例中,我们定义了一个变量 radius,并将其设置为 5。然后,我们调用 circle_area 函数,并将半径作为参数传递给它。函数返回计算出来的面积,并将其存储在变量 area 中。最后,我们使用 print 函数输出面积。 ### 回答2: Python函数是将一组指令封装在一起的代码块,具有一定的输入与输出。函数可以让代码更加模块化和可读性更高。在Python中,我们可以定义并调用自己的函数。下面我们将通过一个计算面积的例子来讲解如何定义函数调用函数。 首先,我们需要定义一个函数,以计算面积。这个面积函数需要一个输入参数,即半径,然后返回计算出来的面积。 def calculate_circle_area(radius): area = 3.1415926 * radius ** 2 return area 在这个函数中,我们跟据面积的公式,计算出了面积,并使用return语句将计算结果返回函数。 接下来我们可以调用这个函数,以计算半径为1的面积。 area = calculate_circle_area(1) print(area) 在这里,我们传入半径为1到函数calculate_circle_area中,并打印出其返回的面积。输出结果为: 3.1415926 我们还可以传入其他不同的参数,比如半径为2的或者半径为5的。 area = calculate_circle_area(2) print(area) area = calculate_circle_area(5) print(area) 输出结果分别为: 12.5663704 78.539815 通过以上的例子,我们可以清晰地了解到如何定义函数调用函数。在Python中我们可以用def关键字定义自己的函数,然后使用括号括起来的参数来传入输入,使用return关键字来返回输出。在函数定义之后,我们可以通过简单的函数调用,来运行函数体中的代码块,并获得函数所返回的结果。 ### 回答3: 在Python中,函数是一个有名称的代码块,它可以接收参数,进行一些操作,并返回一个结果。函数的定义由关键字`def`和函数名组成,函数名之后的括号内可以包含参数列表,在冒号后面的代码块是函数体。 计算面积函数定义如下: ```python def circle_area(radius): area = 3.14 * radius ** 2 return area ``` 这个函数接收一个参数`radius`,计算面积并返回结果。在函数体内,面积计算为`3.14 * radius ** 2`,然后被存储在变量`area`中,并通过`return`关键字返回这个。 要调用这个函数,需要提供一个半径作为参数,并将计算得到的面积存储在一个变量中。例如: ```python r = 5 a = circle_area(r) print('半径为', r, '的面积是', a) ``` 这段代码定义了一个变量`r`,存储半径为`5`。然后调用函数`circle_area`,将`r`作为参数传递给函数,并将函数返回的结果存储在变量`a`中。最后,使用`print`函数计算结果输出到控制台中。 总的来说,函数Python编程中非常重要的组成部分,它可以将代码结构化、简化和重用,并且可以大大提高代码的可读性和可维护性。对于计算面积这样的简单任务来说,定义和调用函数是非常直接和简单的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值