当前位置: 首页 > news >正文

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

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

  • 如果代码存在问题,麻烦大家指正 ~ ~
  • 有帮助麻烦点个赞 ~ ~

    函数自学引导

    • 第1关:整数幂运算
    • 第2关:自定义整数幂运算无参函数
    • 第3关:定义整数幂运算有参函数
    • 第4关:定义默认计算x的10次幂的幂运算函数
    • 第5关:关键字参数调用整数幂运算的函数
    • 第6关:应用幂函数进行运算

第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**nreturn 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**nreturn 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 = xfor i in range(n-1):result *= xreturn resultdef sum_of_f(x, n):f = 0for 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)) 

相关文章:

  • 探索IOT物联网接入数据中台架构的关键要素
  • Vue-B站学习笔记
  • 美国MDO4054B-3泰克混合域示波器
  • 【Redis】NoSQL之Redis的配置和优化
  • 本地MinIO存储服务通过Java程序结合cpolar实现远程连接上传文件
  • 深度优先搜索算法C实现
  • RFID智能绘本柜助力优化儿童阅读体验。
  • k8s部署efk
  • C#设计简单的WinForms多窗口应用程序[示例]
  • 对称排序(蓝桥杯)
  • springcloud第4季 使用resilience4j实现服务流量治理
  • LeetCode-热题100:300. 最长递增子序列
  • 论文阅读——MVDiffusion
  • 【代码随想录】day38
  • 基于SpringBoot+Vue+Mysql的图书管理系统
  • JS 中的深拷贝与浅拷贝
  • Apache Spark Streaming 使用实例
  • golang中接口赋值与方法集
  • HomeBrew常规使用教程
  • Java程序员幽默爆笑锦集
  • KMP算法及优化
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • PAT A1017 优先队列
  • Python_网络编程
  • Python连接Oracle
  • Transformer-XL: Unleashing the Potential of Attention Models
  • vue--为什么data属性必须是一个函数
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 深度学习入门:10门免费线上课程推荐
  • 智能网联汽车信息安全
  • Hibernate主键生成策略及选择
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • #数据结构 笔记三
  • (4)事件处理——(7)简单事件(Simple events)
  • (6)STL算法之转换
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (pojstep1.1.2)2654(直叙式模拟)
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (论文阅读11/100)Fast R-CNN
  • (一)utf8mb4_general_ci 和 utf8mb4_unicode_ci 适用排序和比较规则场景
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .NET MVC第三章、三种传值方式
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .Net(C#)自定义WinForm控件之小结篇
  • .NET中winform传递参数至Url并获得返回值或文件
  • @SuppressWarnings(unchecked)代码的作用
  • [Android Pro] AndroidX重构和映射
  • [C++][数据结构][跳表]详细讲解
  • [ComfyUI进阶教程] animatediff视频提示词书写要点
  • [flask]http请求//获取请求体数据
  • [Linux](16)网络编程:网络概述,网络基本原理,套接字,UDP,TCP,并发服务器编程,守护(精灵)进程
  • [linux]linux命令学习-netstat
  • [NLP] LlaMa2模型运行在Mac机器