湖北师范大学-Python程序设计-函数自学引导

第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))

  • 10
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值