禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/137517357
参考教程:B站视频讲解——https://space.bilibili.com/3546616042621301
函数自学引导
第1关:整数幂运算第2关:自定义整数幂运算无参函数第3关:定义整数幂运算有参函数第4关:定义默认计算x的10次幂的幂运算函数第5关:关键字参数调用整数幂运算的函数第6关:应用幂函数进行运算第1关:整数幂运算
任务描述
本关任务:编写一个能计算整数幂运算的小程序。
相关知识
为了完成本关任务,你需要掌握:
循环
for i in range(n)
可用于控制循环n次。
pow = 1for i in range(n): # i取值0,1,2,3,...,n-1,共循环n次 pow = pow * 5 # 计算5的n次幂print(pow) # 输出计算结果
累乘
累乘时,要先有一个变量,设初值为1(1乘任何数都不影响结果),然后每次循环乘上一个数字
pow_of_x = 1 # 累乘初值,1乘任何数结果不变for i in range(n): # i取值0,1,2,3,...,n-1,共循环n次 pow_of_x = pow_of_x * x # 每循环一次乘上一个5,循环n次,结果是计算5的n次幂print(pow_of_x) # 输出计算结果
编程要求
根据提示,在右侧编辑器补充代码,先输入一个整数x,再输入一个整数n,计算并输出整数x的n次幂。
测试说明
平台会对你编写的代码进行测试:
测试输入:
24
预期输出:
16
测试输入:
54
预期输出:
625
提示:
注意输入两个数的顺序累乘一定要先有一个初值为1,不能为0开始你的任务吧,祝你成功!
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/137517357#分行输入两个整数m,n,计算m的n次幂并输出结果m=int(input())n=int(input())r=m**nprint(r)
第2关:自定义整数幂运算无参函数
任务描述
本关任务:编写一个能计算整数幂运算的函数。
相关知识
为了完成本关任务,你需要掌握:
函数的定义、返回值与调用
定义函数使用关键字def加用户为函数命的名、表示函数的半角小括号()并以半角的冒号“:”结尾。
函数体中的语句缩进4个空格。
用return
关键字将计算结果返回给调用函数之处
函数先定义后使用,用函数名调用函数,并将函数的运算结果用于后续的处理中。
def user_pow(): # 定义函数 # 对齐此处写函数的功能语句 ... return pow_of_x # 返回函数的运算结果到函数调用处# 函数调用语句与def对齐,顶格# 函数调用语句放在定义语句之后print(user_pow()) # 调用函数,输出函数返回值
文档字符串
定义函数时,规范中要求给函数加文档字符串,用于说明函数的作用、参数数量、类型与返回值数量与类型等,文档字符串是放在三对半角双引号中的说明性文字。
def user_pow(): """此函数用于计算整数x的n次幂,无参数,返回幂运算结果,一个整数。 函数中需要用程序语句接受用户输入的整数的底数x和指数n,计算x的n次幂, 返回计算结果""" ... return pow_of_x # 返回函数的运算结果到函数调用处# 函数调用语句与def对齐,顶格,以函数语句之间一般空2行# 函数调用语句放在定义语句之后print(user_pow()) # 调用函数,输出函数返回值
编程要求
根据提示,在右侧编辑器补充代码,先定义一个没有参数的函数,函数的体程序功能是先输入一个整数x,再输入一个整数n,计算并输出整数x的n次幂(函数体语句除返回值语句外,与第一关相同)。
测试说明
平台会对你编写的代码进行测试:
测试输入:
24
预期输出:
16
测试输入:
54
预期输出:
625
提示:
注意函数定义语句结尾是半角冒号函数体语句缩进开始你的任务吧,祝你成功!
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/137517357def s(): x=int(input()) n=int(input()) m=x**n return mprint(s())
第3关:定义整数幂运算有参函数
任务描述
本关任务:编写一个能计算整数幂运算的有参数函数。
相关知识
为了完成本关任务,你需要掌握:
函数的参数传递
函数的参数用于从函数调用处接受对象的值用于函数内部的运算,使调用时传递不同的值可返回不同的结果,函数定义语句里括号中的对象名只要函数内部起作用,称为局部变量。
函数定义语句括号中的参数名与函数调用时括号中的参数名一般不使用相同的名字。
本关使用顺序传递方式,将函数调用时括号中的对象的值按出现的顺序依次传递给函数定义语句中的对象名。
def user_pow(x,n): # 定义函数 # 对齐此处写函数的功能语句 ... return pow_of_x # 返回函数的运算结果到函数调用处# 函数调用语句与def对齐,顶格# 函数调用语句放在定义语句之后print(user_pow(5,4)) # 将5传给x,4传给n,计算5的4次幂print(user_pow(2,10)) # 将2传给x,10传给n,计算2的10次幂
编程要求
根据提示,在右侧编辑器补充代码,定义一个有2个参数的函数,两个参数分别表示底数和幂,计算并输出整数x的n次幂(函数体语句与第2关相同)。
在主程序里先输入一个整数number,再输入一个整数m,在函数调用语句中,将number的值传递给x,将m的值传递给n,这样设计,可以使程序可以计算任何整数的任意整数次幂。
测试说明
平台会对你编写的代码进行测试:
测试输入:
24
预期输出:
16
测试输入:
54
预期输出:
625
提示:
注意函数定义语句结尾是半角冒号函数体语句缩进开始你的任务吧,祝你成功!
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/137517357def s(m,n): y=m**n return ya=int(input())b=int(input())print(s(a,b))
第4关:定义默认计算x的10次幂的幂运算函数
任务描述
本关任务:编写一个能计算整数幂运算的有参数函数,未传入指数时计算x的10次幂。
相关知识
为了完成本关任务,你需要掌握:
默认值传递
函数定义时为参数设计默认值。
函数调用时,若无参数值的传递,直接应用默认值进行计算;
函数调用时若传入参数值,则使用传入的值进行计算。
默认值参数一定位于位置传递参数之后。
def user_pow(x,n=10): # 定义函数 """接受两个整数参数,依次表示底数和幂,计算整数x的n次幂,返回幂运算结果。 当函数调用时,若只传入一个参数,则值传给x,n使用默认值,返回x的10次幂""" # 对齐此处写函数的功能语句 ... return pow_of_x # 返回函数的运算结果到函数调用处# 函数调用语句与def对齐,顶格# 函数调用语句放在定义语句之后print(user_pow(5,4)) # 将5传给x,4传给n,计算5的4次幂print(user_pow(2)) # 将5传给x,计算2的10次幂
输出
6251024
编程要求
根据提示,在右侧编辑器补充代码,定义一个有两个参数的函数,两个参数分别表示底数和指数,后面一个参数有默认值,计算并输出整数x的n次幂(函数体语句与第2关相同)。
在主程序里先输入一个整数number,再输入一个整数m,在第一条函数调用语句中,将number的值传递给x,将m的值传递给n,计算并输出整数number的m次幂。
第一条函数调用语句只传入一个参数,计算并输出这个参数的10次幂
测试说明
平台会对你编写的代码进行测试:
测试输入:
24
预期输出:
161024
测试输入:
54
预期输出:
6259765625
提示:
带默认值的参数一定在位置传递参数后开始你的任务吧,祝你成功!
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/137517357def power(x, n=10): result = x**n return result# 输入number和m,调用函数计算number的m次幂,并输出结果number = int(input())m = int(input())print(power(number, m))# 只传入一个参数,计算并输出这个参数的10次幂print(power(number))
第5关:关键字参数调用整数幂运算的函数
任务描述
本关任务:编写一个能计算整数幂运算的有参数函数,调用时使用关键字传递。
相关知识
为了完成本关任务,你需要掌握:
关键字传递
函数调用时,提供实际参数对应的形式参数名称,根据参数名称传递参数,不需要遵守位置关系。
def user_pow(n,x): # 定义函数 """接受两个整数参数,依次表示指数和底数,计算整数x的n次幂,返回幂运算结果。""" # 对齐此处写函数的功能语句 ... return pow_of_x # 返回函数的运算结果到函数调用处# 分别输入两个整数,依次表示底和幂number = int(input()) # 输入底数m = int(input()) # 输入指数# 调用函数时用关键字传递参数值print(user_pow(x=number, n=m)) # 调用函数,传入2个参数,不需要考虑顺序print(user_pow(n=m, x=number)) # 调用函数,传入2个参数,不需要考虑顺序
输入:
52
输出
625625
编程要求
根据提示,在右侧编辑器补充代码,定义一个有两个参数的函数,两个参数依次表示指数和底数,计算并输出整数x的n次幂(函数体语句与第2关相同)。
在主程序里先输入一个整数number,再输入一个整数m,再写2条用关键字传递参数的函数调用语句,在第一条函数调用语句中,n=m在后,第二条函数调用语句中,n=m在前。
测试说明
平台会对你编写的代码进行测试:
测试输入:
25
预期输出:
2525
开始你的任务吧,祝你成功!
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/137517357def user_pow(n, x): """接受两个整数参数,依次表示底数和幂,计算整数x的n次幂,返回幂运算结果。""" pow_of_x = 1 # 累乘初值,1乘任何数结果不变 for i in range(n): # i取值0,1,2,3,...,n-1,共循环n次 pow_of_x = pow_of_x * x # 每循环一次乘上一个5,循环n次,结果是计算5的n次幂 return pow_of_x # 返回函数的运算结果到函数调用处# 补充2条语句分别输入两个整数,依次表示底和幂number = int(input()) # 输入底数m = int(input()) # 输入指数# 调用函数时用关键字传递参数值# 调用函数,底数在前,指数在后,在下面补充一条调用函数并输出结果的语句print(user_pow(x=number, n=m)) # 调用函数,传入2个参数,不需要考虑顺序print(user_pow(n=m, x=number)) # 调用函数,传入2个参数,不需要考虑顺序# 调用函数,指数在前,底数在后,在下面补充一条调用函数并输出结果的语句
第6关:应用幂函数进行运算
任务描述
本关任务:编写一个能计算整数幂运算的有参数函数,调用函数计算下面函数的值:
f = 1 / x + 2 / x 2 + 3 / x 3 + 4 / x 4 + . . . + n / x n f = 1/x + 2/x^2 + 3/x^3 + 4/x^4 + ... + n/x^n f=1/x+2/x2+3/x3+4/x4+...+n/xn
相关知识
为了完成本关任务,你需要掌握:
函数的重复调用
在循环中重复调用函数,每次给函数传入不同的参数完成一项计算。
def user_pow(x,n): # 定义函数 # 对齐此处写函数的功能语句 ... return pow_of_x # 返回函数的运算结果到函数调用处def sum_of_f(x, n): """接受两个整数参数,依次表示分母的x值和总项数n,计算整数i/(x**i)次幂的累加,累加结果。""" ... return ... # 函数调用语句与def对齐,顶格number = int(input()) # 输入底数m = int(input()) # 输入项数# 调用函数时计算f值,结果保留最多3位小数print(round(sum_of_f(number, m), 3)) # 调用函数,传入2个参数,不需要考虑顺序
编程要求
根据提示,在右侧编辑器补充代码,定义一个整数幂函数和一个用于累加的函数,主函数中输入一个x值和一个总项数,调用这两个函数计算题目描述中f的值,结果最多保留3位小数。
测试说明
平台会对你编写的代码进行测试:
测试输入:
24
预期输出:
1.625
测试输入:
22
预期输出:
1.0
开始你的任务吧,祝你成功!
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/137517357# 定义一个整数幂函数,接受两个整数参数,依次表示底数和幂,计算整数x的n次幂,返回幂运算结果def user_pow(x, n): # 定义函数计算整数幂 result = x for i in range(n-1): result *= x return result def sum_of_f(x, n): f = 0 for i in range(1, n+1): f += i / user_pow(x, i) return fnumber = int(input()) # 输入底数m = int(input()) # 输入项数# 调用函数时计算f值,结果保留最多3位小数print(round(sum_of_f(number, m), 3))