首页 > Python资料 博客日记

【头歌-Python】 函数自学引导

2024-05-15 06:00:05Python资料围观382

文章【头歌-Python】 函数自学引导分享给大家,欢迎收藏Python资料网,专注分享技术知识

禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/137517357
参考教程:B站视频讲解——https://space.bilibili.com/3546616042621301

第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

开始你的任务吧,祝你成功!

参考代码

# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/137517357
#分行输入两个整数m,n,计算m的n次幂并输出结果
m=int(input())
n=int(input())
r=m**n
print(r)

第2关:自定义整数幂运算无参函数

任务描述
本关任务:编写一个能计算整数幂运算的函数。

相关知识
为了完成本关任务,你需要掌握:

  1. 函数的定义、返回值与调用
  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次幂(函数体语句除返回值语句外,与第一关相同)。

测试说明
平台会对你编写的代码进行测试:

测试输入:

2
4

预期输出:

16

测试输入:

5
4

预期输出:

625

提示:

  1. 注意函数定义语句结尾是半角冒号
  2. 函数体语句缩进

开始你的任务吧,祝你成功!

参考代码

# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/137517357
def s():
    x=int(input())
    n=int(input())
    m=x**n 
    return m
print(s())

第3关:定义整数幂运算有参函数

任务描述
本关任务:编写一个能计算整数幂运算的有参数函数。

相关知识
为了完成本关任务,你需要掌握:

  1. 函数的参数传递

函数的参数传递
函数的参数用于从函数调用处接受对象的值用于函数内部的运算,使调用时传递不同的值可返回不同的结果,函数定义语句里括号中的对象名只要函数内部起作用,称为局部变量。
函数定义语句括号中的参数名与函数调用时括号中的参数名一般不使用相同的名字。
本关使用顺序传递方式,将函数调用时括号中的对象的值按出现的顺序依次传递给函数定义语句中的对象名。

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,这样设计,可以使程序可以计算任何整数的任意整数次幂。

测试说明
平台会对你编写的代码进行测试:

测试输入:

2
4

预期输出:

16

测试输入:

5
4

预期输出:

625

提示:

  1. 注意函数定义语句结尾是半角冒号
  2. 函数体语句缩进

开始你的任务吧,祝你成功!

参考代码

# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/137517357
def s(m,n):
    y=m**n
    return y
a=int(input())
b=int(input())
print(s(a,b))

第4关:定义默认计算x的10次幂的幂运算函数

任务描述
本关任务:编写一个能计算整数幂运算的有参数函数,未传入指数时计算x的10次幂。

相关知识
为了完成本关任务,你需要掌握:

  1. 默认值传递

默认值传递
函数定义时为参数设计默认值。
函数调用时,若无参数值的传递,直接应用默认值进行计算;
函数调用时若传入参数值,则使用传入的值进行计算。
默认值参数一定位于位置传递参数之后。

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次幂

输出

625
1024

编程要求
根据提示,在右侧编辑器补充代码,定义一个有两个参数的函数,两个参数分别表示底数和指数,后面一个参数有默认值,计算并输出整数x的n次幂(函数体语句与第2关相同)。
在主程序里先输入一个整数number,再输入一个整数m,在第一条函数调用语句中,将number的值传递给x,将m的值传递给n,计算并输出整数number的m次幂。
第一条函数调用语句只传入一个参数,计算并输出这个参数的10次幂

测试说明
平台会对你编写的代码进行测试:

测试输入:

2
4

预期输出:

16
1024

测试输入:

5
4

预期输出:

625
9765625

提示:

  1. 带默认值的参数一定在位置传递参数后

开始你的任务吧,祝你成功!

参考代码

# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/137517357
def 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关:关键字参数调用整数幂运算的函数

任务描述
本关任务:编写一个能计算整数幂运算的有参数函数,调用时使用关键字传递。

相关知识
为了完成本关任务,你需要掌握:

  1. 关键字传递

关键字传递
函数调用时,提供实际参数对应的形式参数名称,根据参数名称传递参数,不需要遵守位置关系。

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个参数,不需要考虑顺序

输入:

5
2

输出

625
625

编程要求
根据提示,在右侧编辑器补充代码,定义一个有两个参数的函数,两个参数依次表示指数和底数,计算并输出整数x的n次幂(函数体语句与第2关相同)。
在主程序里先输入一个整数number,再输入一个整数m,再写2条用关键字传递参数的函数调用语句,在第一条函数调用语句中,n=m在后,第二条函数调用语句中,n=m在前。

测试说明
平台会对你编写的代码进行测试:

测试输入:

2
5

预期输出:

25
25

开始你的任务吧,祝你成功!

参考代码

# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/137517357
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))  # 调用函数,传入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

相关知识
为了完成本关任务,你需要掌握:

  1. 函数的重复调用

函数的重复调用
在循环中重复调用函数,每次给函数传入不同的参数完成一项计算。

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位小数。

测试说明
平台会对你编写的代码进行测试:

测试输入:

2
4

预期输出:

1.625

测试输入:

2
2

预期输出:

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 f

number = int(input())     # 输入底数
m = int(input())          # 输入项数
# 调用函数时计算f值,结果保留最多3位小数
print(round(sum_of_f(number, m), 3)) 


版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐