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

2024-06-04 6148阅读

禁止转载,原文: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**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)) 
      

    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]