第1关:整数幂运算
任务描述
本关任务:编写一个能计算整数幂运算的小程序。
相关知识
为了完成本关任务,你需要掌握:
1.for...in循环
2.累乘
循环
for i in range(n)可用于控制循环n次。
pow = 1
for 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次幂。
测试说明
平台会对你编写的代码进行测试:
测试输入:
2
4
预期输出:
16
测试输入:
5
4
预期输出:
625
提示:
1.注意输入两个数的顺序
2.累乘一定要先有一个初值为1,不能为0
#分行输入两个整数m,n,计算m的n次幂并输出结果
x=int(input())
n=int(input())
pow=1
for i in range(n):
pow=pow*x
print(pow)
第2关:自定义整数幂运算无参函数
测试说明
平台会对你编写的代码进行测试:
测试输入:
2
4
预期输出:
16
测试输入:
5
4
预期输出:
625
提示:
1.注意函数定义语句结尾是半角冒号
2.函数体语句缩进
# 在下面一行从行首开始补充函数定义语句
def pow(x,n):
num=1
for i in range(n):
num=num*x
return num
"""此函数用于计算整数x的n次幂,无参数,返回幂运算结果,一个整数。
函数中需要用程序语句接受用户输入的整数的底数x和指数n,计算x的n次幂,
返回计算结果"""
# 对齐此位置写函数体语句和返回值语句
# 将函数名作为输出语句的参数,在下一行补充调用函数并输出函数运算结果的语句
x=int(input())
n=int(input())
print(pow(x,n))
第3关:定义整数幂运算有参函数
编程要求
根据提示,在右侧编辑器补充代码,定义一个有2个参数的函数,两个参数分别表示底数和幂,计算并输出整数x的n次幂(函数体语句与第2关相同)。
在主程序里先输入一个整数number,再输入一个整数m,在函数调用语句中,将number的值传递给x,将m的值传递给n,这样设计,可以使程序可以计算任何整数的任意整数次幂。
测试说明
平台会对你编写的代码进行测试:
测试输入:
2
4
预期输出:
16
测试输入:
5
4
预期输出:
625
提示:
1.注意函数定义语句结尾是半角冒号
2.函数体语句缩进
# 在下面一行从行首开始补充函数定义语句,要求函数可以接受两个整数的参数
def pow(x,n):
num=1
for i in range(n):
num=num*x
return num
"""此函数用于计算整数x的n次幂,接受两个整数参数,依次表示底数和幂,返回幂运算结果,一个整数。"""
# 对齐此位置写函数体语句和返回值语句
# 补充2条语句分别输入两个整数,依次表示底和幂
x=int(input())
n=int(input())
# 将函数名作为输出语句的参数,在下一行补充调用函数并输出函数运算结果的语句
print(pow(x,n))
第4关:定义默认计算x的10次幂的幂运算函数
编程要求
根据提示,在右侧编辑器补充代码,定义一个有两个参数的函数,两个参数分别表示底数和指数,后面一个参数有默认值,计算并输出整数x的n次幂(函数体语句与第2关相同)。
在主程序里先输入一个整数number,再输入一个整数m,在第一条函数调用语句中,将number的值传递给x,将m的值传递给n,计算并输出整数number的m次幂。
第一条函数调用语句只传入一个参数,计算并输出这个参数的10次幂
测试说明
平台会对你编写的代码进行测试:
测试输入:
2
4
预期输出:
16
1024
测试输入:
5
4
预期输出:
625
9765625
提示:
1.带默认值的参数一定在位置传递参数后
# 在下面一行从行首开始补充函数定义语句,要求函数可以接受两个整数的参数
def user_pow(x,n=10):
num=1
for i in range(n):
num=num*x
return num
"""接受两个整数参数,依次表示底数和幂,计算整数x的n次幂,返回幂运算结果。
当函数调用时,若只传入一个参数,则值传给x,n使用默认值,返回x的10次幂"""
# 对齐此位置写函数体语句和返回值语句
# 分别输入两个整数,依次表示底和幂
number = int(input()) # 输入底数
m = int(input()) # 输入指数
# 调用函数并输出函数运算结果的语句
print(user_pow(number, m)) # 调用函数,传入2个参数
print(user_pow(number)) # 调用函数,只传入一个参数
第5关:关键字参数调用整数幂运算的函数
编程要求
根据提示,在右侧编辑器补充代码,定义一个有两个参数的函数,两个参数依次表示指数和底数,计算并输出整数x的n次幂(函数体语句与第2关相同)。
在主程序里先输入一个整数number,再输入一个整数m,再写2条用关键字传递参数的函数调用语句,在第一条函数调用语句中,n=m在后,第二条函数调用语句中,n=m在前。
测试说明
平台会对你编写的代码进行测试:
测试输入:
2
5
预期输出:
25
25
def 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))
print(user_pow(n=m,x=number))
# 调用函数,指数在前,底数在后,在下面补充一条调用函数并输出结果的语句
第6关:应用幂函数进行运算
编程要求
根据提示,在右侧编辑器补充代码,定义一个整数幂函数和一个用于累加的函数,主函数中输入一个x值和一个总项数,调用这两个函数计算题目描述中f的值,结果最多保留3位小数。
测试说明
平台会对你编写的代码进行测试:
测试输入:
2
4
预期输出:
1.625
测试输入:
2
2
预期输出:
1.0
# 定义一个整数幂函数,接受两个整数参数,依次表示底数和幂,计算整数x的n次幂,返回幂运算结果
# 此代码仅用于学习函数定义和返回值,要求用循环实现幂函数的计算
def user_pow(x,n):
num=1
for i in range(n):
num=num*x
return num
# 定义一个累加函数,接受两个整数参数,依次表示分母的x值和总项数n,计算整数i/(x**i)次幂的累加,返回累加结果。
def sum_of_f(x,n):
sum=0
for i in range(1,n+1):
sum=sum+(i/x**i)
return sum
# 分别输入两个整数,依次表示底和总项数
number = int(input()) # 输入底数
m = int(input()) # 输入指数
# 调用函数,结果保留最多3位小数
print(round(sum_of_f(number, m), 3))