任务描述
本关任务:自定义函数calculate,实现 2 个数之间的加、减、乘、除运算,并返回结果值。
相关知识
为了完成本关任务,你需要掌握:
1.函数定义、参数、返回值的基本语法;
2.函数调用过程。
函数定义、参数、返回值的基本语法
首先,让我们来看一下自定义函数的语法,如下所示:
def 函数名(参数列表):
函数体
return 表达式
结合语法,我们来了解一下自定义函数的规则:
自定义函数以 def 关键字开头,后接函数名和圆括号 (),圆括号后面接冒号;
任何传入的参数必须放在圆括号中间,有多个参数时,参数之间用逗号分隔,参数也可以为空;
函数体的内容需要缩进;
return [表达式] ,用于结束函数,可以选择性地返回一个值给调用方;不带表达式的 return 或者没有 return,相当于返回 None。
下面,我们来看一个案例。
# 定义函数hello
def hello():
print('Hello,Educoder!') # 打印Hello,Educoder!
上述自定义函数 hello 实现的是,打印“Hello,Educoder!”的功能,没有参数,也没有使用 return,返回的值是 None。可以看到,print前面有缩进。
我们可以再来看一个简单的自定义函数。
# 定义函数plus
def plus(a,b):
c = a + b #计算a加b的值,并将结果赋给c
return c #返回结果值
上述自定义函数 plus 实现的是加法功能,其中 a 和 b 是传入的参数,c是返回的值。
函数调用过程
函数已经定义好了,下面来介绍一下如何调用。函数的调用十分简单,只需要使用函数名加参数,就可以实现函数的调用。
首先,我们来看一下函数hello的调用,如图 1 所示。
图1
在交互环境下,我们自定义了函数hello,然后通过hello()实现了函数的调用。因为在定义时,没有参数,所以不需要传参数。我还可以来看一下它的返回值,如图 2 所示。
图2
我们将函数hello的返回值赋值给变量temp,然后再打印变量temp,可以看到得到的返回值确实是None。
然后,我们再来看一下函数 plus的调用,如图 3 所示。
图3
可以看出,函数 plus实现了两个数的加法功能,并且能够返回结果值。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
可在右侧 “测试结果”区查看具体的测试集详情。
"""
任务:自定义函数calculate,实现 2 个数之间的加、减、乘、除运算,并返回结果值。
函数calculate接收三个参数,其中第一个参数为符号判断值,第二个参数为第一个运算数,
第三个参数为第二个运算数。符号判断值有4个,分别为1、2、3、4,依次对应加、减、乘、
除运算。
"""
# 定义函数calculate
def calculate(sign,var1,var2):
# 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
########### Begin ###########
# 第一步:判断sign是否等于1,等于1的话,进行加法运算,并将结果赋值给temp
# 第二步:判断sign是否等于2,等于2的话,进行减法运算,并将结果赋值给temp
# 第三步:判断sign是否等于3,等于3的话,进行乘法运算,并将结果赋值给temp
# 判断sign是否等于4,等于4的话,进行除法运算
else:
# 判断被除数var2是否等于0,等于0的话,返回“被除数var2不能是0!”
if var2 == 0:
return '被除数var2不能是0!'
# 第四步:被除数var2不等于0,进行除法运算,并将结果赋值给temp
########### End ###########
return temp # 返回结果值
sign = int(input()) # 从后台获取数据sign
var1 = int(input()) # 从后台获取数据var1
var2 = int(input()) # 从后台获取数据var2
result = calculate(sign,var1,var2) # 得到计算结果
print(result) # 打印计算结果
答案
"""
任务:自定义函数calculate,实现 2 个数之间的加、减、乘、除运算,并返回结果值。
函数calculate接收三个参数,其中第一个参数为符号判断值,第二个参数为第一个运算数,
第三个参数为第二个运算数。符号判断值有4个,分别为1、2、3、4,依次对应加、减、乘、
除运算。
"""
# 定义函数calculate
def calculate(sign,var1,var2):
# 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
########### Begin ###########
# 第一步:判断sign是否等于1,等于1的话,进行加法运算,并将结果赋值给temp
if sign==1:
temp=var1+var2
return temp
# 第二步:判断sign是否等于2,等于2的话,进行减法运算,并将结果赋值给temp
if sign==2:
temp=var1-var2
return temp
# 第三步:判断sign是否等于3,等于3的话,进行乘法运算,并将结果赋值给temp
if sign==3:
temp=var1*var2
return temp
# 判断sign是否等于4,等于4的话,进行除法运算
else:
# 判断被除数var2是否等于0,等于0的话,返回“被除数var2不能是0!”
if var2 == 0:
return '被除数var2不能是0!'
# 第四步:被除数var2不等于0,进行除法运算,并将结果赋值给temp
else:
temp=var1/var2
return temp
########### End ###########
return temp # 返回结果值
sign = int(input()) # 从后台获取数据sign
var1 = int(input()) # 从后台获取数据var1
var2 = int(input()) # 从后台获取数据var2
result = calculate(sign,var1,var2) # 得到计算结果
print(result) # 打印计算结果

被折叠的 条评论
为什么被折叠?



