【头歌-Python】Python第四章作业(初级)

2024-06-04 2625阅读

转载标注出处:https://blog.csdn.net/qq_45801887/article/details/134908487

参考教程:B站视频讲解——https://space.bilibili.com/3546616042621301

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

    python第四章作业(初级)

    • 第1关 无参无返回值函数
      • 参考代码
      • 第2关 无参有返回值函数
        • 参考代码
        • 第3关 有参有返回值函数
          • 参考代码
          • 第4关 多参函数
            • 参考代码
            • 第5关 任意数量参数
              • 参考代码
              • 第6关 pow函数详解
                • 参考代码
                • 第7关 fabs() 函数
                  • 参考代码
                  • 第8关 汽车迷
                    • 参考代码
                    • 第9关 编写函数输出自除数
                      • 参考代码
                      • 第10关 二分法求平方根B
                        • 参考代码

                          第1关 无参无返回值函数

                          任务描述

                          本关任务:编写一个无参无返回值函数的小程序。

                          相关知识

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

                          1. 无参无返回值函数

                          无参无返回值函数

                          定义一个无参数、无返回值的函数 print_hi_human(),调用函数时可以让计算机向世界发出问候,在函数中输出“人类,你好!”。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

                          无返回值函数一般在函数内部会有输出语句或绘图语句,函数的返回值是 None,在调用函数时不需要使用赋值语句或是 print()函数。

                          代码示例:

                          print("Hello world")
                          

                          编程要求

                          根据提示,在右侧编辑器补充代码,完善一个无参无返回值函数的程序。

                          测试说明

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

                          输入:无

                          输出:

                          人类,你好!
                          

                          参考代码

                          # 转载标注出处:https://blog.csdn.net/qq_45801887/article/details/134908487
                          def print_hi_human():  # 函数名用小写字母
                              """文档注释,双引号,说明函数的参数、功能和返回值等。
                              定义一个名为print_hi_human的无参数函数,其功能是打印一句问候语,
                              这个函数没有return语句,即没有返回值,或者说其返回值为None。
                              # >>> print_hi_human()
                              # 人类,你好!
                              """
                              # ==================Begin=====================================
                              # 此处去掉注释符号“#”并补充你的代码
                              print('人类,你好!')
                              # ===================End====================================
                          if __name__ == '__main__':
                              # 直接使用函数名来调用函数
                              # ==================Begin=====================================
                              # 此处去掉注释符号“#”并补充你的代码
                              print_hi_human()
                              # ===================End====================================
                          

                          第2关 无参有返回值函数

                          任务描述

                          本关任务:编写一个无参有返回值函数的小程序。

                          相关知识

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

                          1. 无参有返回值函数

                          无参有返回值函数

                          定义一个无参数、有返回值的函数 say_hi_human(),调用函数时输出函数的返回值,让计算机向世界发出问候,返回字符串“人类,你好!”。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

                          有返回值函数用 return 语句将函数的处理结果返回给调用处,调用函数时用 print() 函数直接输出函数的处理结果,或使用赋值语句为返回值命名以用于后续处理。

                          编程要求

                          根据提示,在右侧编辑器补充代码,完善一个无参有返回值函数的小程序。

                          测试说明

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

                          输出:

                          输出:人类,你好!
                          

                          参考代码

                          # 转载标注出处:https://blog.csdn.net/qq_45801887/article/details/134908487
                          def say_hi_human():  # 函数名用小写字母
                              """定义一个名为print_hi_human的无参数函数,其功能是返回字符串-人类,你好!"""
                              #========================Begin===============================
                              #补充你的代码
                              return '人类,你好!'
                              #==========================End=============================
                          if __name__ == '__main__':
                              # 函数名作为print()函数的参数,输出say_hi_human()的返回值
                              #========================Begin===============================
                              #补充你的代码
                              print(say_hi_human())
                              #==========================End=============================
                          

                          第3关 有参有返回值函数

                          任务描述

                          本关任务:编写一个有参有返回值函数的小程序。

                          相关知识

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

                          1. 有参有返回值函数

                          有参有返回值函数

                          定义一个函数 say_hi_person(),有一个参数 full_name,接受人名的字符串为参数,函数的返回值为 “XXX,你好!”,例如函数的参数为“李白”,返回值为“李白,你好!”

                          编程要求

                          根据提示,在右侧编辑器补充代码,完善一个有参有返回值函数的小程序。

                          测试说明

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

                          输入:李白;

                          输出:李白,你好!

                          参考代码

                          # 转载标注出处:https://blog.csdn.net/qq_45801887/article/details/134908487
                          def say_hi_person(full_name):  # 函数名用小写字母,函数名填空
                              """定义一个名为say_hi_person的有参数函数,接受人名的字符串为参数,函数的返回值为“***,你好!”,
                              例如函数的参数为“李白”,返回值为“李白,你好!”。"""
                              #====================Begin===================================
                              # 补充你的代码
                              return full_name + ',你好!'
                              #=====================End==================================
                          if __name__ == '__main__':
                              #  函数名作为print()函数的参数,输出say_hi_human()的返回值。输入的人名作为函数的参数
                              person_name = input()              # 输入人名
                              #====================Begin===================================
                              # 补充你的代码
                              print(say_hi_person(person_name))
                              #=====================End==================================
                          

                          第4关 多参函数

                          任务描述

                          本关任务:编写一个多参函数进行计算机问候的小程序。

                          相关知识

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

                          1. 多参函数

                          多参函数

                          定义一个函数 say_hi_gender(),有 2 个参数 full_name 和 gender,接受人名和性别(“男”或“女”)的字符串为参数,函数的返回值为“尊敬的XXX先生/女士,欢迎来到火星!”。根据性别 gender 值确定称谓,男性称为“先生”,女性称为“女士”,不确定性别时称为“先生/女士”,返回值为替换了姓名与称谓的欢迎字符串 。

                          编程要求

                          根据提示,在右侧编辑器补充代码,完善一个多参函数进行计算机问候的小程序。

                          测试说明

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

                          测试输入:

                          李白
                          男
                          

                          输出:

                          尊敬的李白先生,欢迎来到火星!
                          

                          参考代码

                          # 转载标注出处:https://blog.csdn.net/qq_45801887/article/details/134908487
                          def say_hi_gender(full_name, gender):  # name 和gender为形式参数
                              """定义一个名为say_hi的有参数函数,其功能是打印一句问候语
                              根据性别gender值确定称谓,男性称为“先生”,女性称为“女士”,不确定性别时称为“先生/女士”
                              返回值为替换了姓名与称谓的欢迎字符串
                              例如:尊敬的李白先生,欢迎来到火星!"""
                              # ====================Begin===================================
                              # 此处去掉注释符号“#”并补充你的代码
                              g = '先生/女士'
                              if gender == '男':
                                  g = '先生'
                              if gender == '女':
                                  g = '女士'
                              return f'尊敬的{full_name}{g},欢迎来到火星!'
                              # =======================================================
                          if __name__ == '__main__':
                              # 直接使用函数名来调用函数
                              # ====================Begin===================================
                              # 此处去掉注释符号“#”并补充你的代码
                              print(say_hi_gender(input(), input()))
                              # =======================================================
                          

                          第5关 任意数量参数

                          任务描述

                          本关任务:编写一个能任意数量参数进行计算机问候的小程序。

                          相关知识

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

                          1. 任意数量参数

                          任意数量参数

                          定义一个函数 say_hi_multi_parameter,使之可接收任意数量的姓名为参数,调用函数时,可以传递多个参数。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

                          有时候你预先不知道函数需要多少实参,此时可以给函数传递一个用 “*” 开头的序列类型的参数,例如:“*id” ,形参名 id 前面的星号会让 Python 创建一个空元组,将收集到的所有实参值都封装到这个元组里。

                          编程要求

                          根据提示,在右侧编辑器补充代码,完善一个能任意数量参数进行计算机问候的小程序。

                          测试说明

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

                          输入格式‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬:

                          本题无输入‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

                          输出格式‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬:

                          分行对每个传入的参数输出“XXX,你好!”

                          输出:

                          孟浩然,你好!
                          杜甫,你好!
                          李白,你好!
                          柳宗元,你好!
                          李商隐,你好!
                          

                          参考代码

                          # 转载标注出处:https://blog.csdn.net/qq_45801887/article/details/134908487
                          def say_hi_multi_parameter(*names):    # 括号里填上参数
                              for name in names:
                                  print(name + ',你好!')
                          #调用say_hi_multi_parameter并传入参数
                          say_hi_multi_parameter('孟浩然')
                          say_hi_multi_parameter('杜甫', '李白', '柳宗元', '李商隐')
                          

                          第6关 pow函数详解

                          任务描述

                          本关任务:编写一个能计算并输出 x 的 n 次方的小程序。

                          相关知识

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

                          1. pow函数详解
                          2. 自定义pow函数

                          pow函数详解

                          pow() 函数是 Python 的内置函数,它计算并返回 x 的 y 次方的值。

                          pow(x, y, z)

                          名称备注说明
                          x底数不可省略的参数
                          y指数不可省略的参数
                          z取余数字可省略的参数。当z存在时,函数返回值等于 pow(x, y)%z

                          编程示例:

                          1. 参数 z 省略时 当省略取余数字 z 时,pow 函数返回 x 的 y 次方的值。
                          print(pow(2, 3))   # 输出8
                          print(pow(4, 0.5))  # 输出2.0
                          
                          1. 参数 z 存在时 当参数 z 存在,pow(x, y, z) 的返回结果就等于 pow(x, y) 的结果对 z 求余。
                          print(pow(8, 2, 5))  # 输出4
                          

                          注意事项

                          1. z 参数省略时,返回值是 x 的 y 次方。
                          print(pow(2, 4))  # 输出16
                          
                          1. z 参数省略时,x 和 y 的值可以是整数和浮点数 当 x 或 y 存在浮点数时,pow() 函数的返回结果也是浮点数,否则为整数。
                          print(pow(4, 0.5))         # 输出2.0
                          print(type(pow(4, -0.5)))  # 输出
                          print(pow(4, 2))           # 输出16
                          print(type(pow(4, 2)))     # 输出
                          
                          1. 参数 z 不能为 0 当参数 z 为 0 时,Python会抛出异常。
                          print(pow(4, 2, 0))
                          '''
                          Traceback (most recent call last):
                          File "", line 1, in 
                          ValueError: pow() 3rd argument cannot be 0
                          '''
                          
                          1. 参数 z 存在时,x 和 y 只能是整数 当 z 存在时,x 和 y 必须时整数。否则 Python 会抛出异常。
                          print(pow(3, 0.7, 1))
                          '''
                          Traceback (most recent call last):
                          File "", line 1, in 
                          TypeError: pow() 3rd argument not allowed unless all arguments are integers
                          '''
                          

                          自定义pow函数

                          问题描述: 输入一个数值 x 和一个正整数 n,并调用自定义的 pow() 函数计算并输出 x 的 n 次方。

                          编程要求

                          根据提示,在右侧编辑器补充代码,完善计算并输出 x 的 n 次方的小程序。

                          测试说明

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

                          测试输入:

                          2
                          16
                          

                          预期输出:

                          65536.0
                          

                          参考代码

                          # 转载标注出处:https://blog.csdn.net/qq_45801887/article/details/134908487
                          def pow(x, y):
                              return 1.0*x**y
                          a = eval(input())
                          b = eval(input())
                          print(pow(a, b))
                          

                          第7关 fabs() 函数

                          任务描述

                          本关任务:编写一个使用自定义的fabs()函数输出的小程序。

                          相关知识

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

                          1. fabs()函数
                          2. 自定义的fabs()函数

                          python中的fabs() 函数

                          fabs() 函数返回数字的绝对值,如 math.fabs(-5) 返回 5.0.

                          与 abs() 函数不同的是, fabs() 函数返回的是浮点型的值。

                          • 参数

                            x 数值表达式

                          • 返回值

                            返回数值的绝对值。

                            代码示例:

                            import math
                            math.fabs(x)
                            #注意:fabs() 是不能直接访问的,需要导入 math 模块,通过静态对象调用该方法。
                            

                            代码示例:

                            import math
                            print(math.fabs(-45))  # 45.0
                            

                            自定义的fabs()函数

                            问题描述: 输入一个数值 x,并调用自定义的 fabs() 函数计算并以浮点数类型输出这个数的绝对值。

                            编程要求

                            根据提示,在右侧编辑器补充代码,使用调用自定义的 fabs() 函数输出相应数值。

                            测试说明

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

                            测试输入:-3;

                            预期输出:

                            3.0
                            

                            参考代码

                            # 转载标注出处:https://blog.csdn.net/qq_45801887/article/details/134908487
                            def fabs(x):
                                """返回x的绝对值"""
                                return -x if x2:
                                    brand = ls[-1]
                                return f'这是一辆{ls[0]}年生产,型号是{ls[1]}的{brand}牌汽车。'
                            # 以下内容不要修改
                            ls = input().split()  # 根据空格切分输入字符串为列表
                            print(Car(*ls))       # 调用函数,取列表中的全部数据做参数
                            

                            第9关 编写函数输出自除数

                            任务描述

                            一个不含0的数,如果它能被它的每一位除尽,则它是一个自除数。例如128是一个自除数,因为128能被1、2、8整除。编写函数selfDivisor(num)判断num是否为自除数,使用该函数输出不大于N的所有自除数。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

                            (注意,含有数字0的数不是自除数)

                            输入格式‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

                            输入为一行,一个正整数N(N>=1)。

                            输出格式‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

                            输出为一行,是不大于N的所有自除数,每个数后面有一个空格。

                            示例 1‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

                            输入:1

                            输出:1

                            示例 2‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

                            输入:22

                            输出:1 2 3 4 5 6 7 8 9 11 12 15 22

                            参考代码

                            # 转载标注出处:https://blog.csdn.net/qq_45801887/article/details/134908487
                            def selfDivisor(num):
                                for i in str(num):
                                    if i=='0' or num%int(i):
                                        return False
                                return True
                            num = int(input())
                            for i in range(1, num+1):
                                if selfDivisor(i):
                                    print(i, end=' ')
                            

                            第10关 二分法求平方根B

                            任务描述

                            设计一个用二分法计算一个大于或等于 0 的实数 n 的平方根的函数sqrt_binary(n),实数 n和计算精度控制由用户在同一行内输入,用逗号进行分隔,输出结果严格保留8位小数。当(abs(x * x - n) )小于或等于设定的精度时,近似认为 x * x == n。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

                            注:初始区间取[0,n+0.25]

                            输入格式‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

                            在同一行内输入一个浮点数 n(大于或等于0)和一个代表精度的浮点数(可用1e-m格式输入),逗号分隔。

                            输出格式‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

                            第一行输出用自己设计的函数计算得到的平方根‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

                            第二行输出用math库开平方函数计算得到的平方根

                            示例‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

                            输入:5.0,1e-7

                            输出:

                            2.23606796
                            2.23606798
                            

                            参考代码

                            # 转载标注出处:https://blog.csdn.net/qq_45801887/article/details/134908487
                            import math
                            def sqrt_binary(n, e):
                                low, high = 0, n+0.25
                                while True:
                                    mid = (low+high)/2
                                    if abs(mid**2 - n)  n:
                                            high = mid
                                        else :
                                            low = mid
                            n, e = map(eval, input().split(','))
                            print(f'{sqrt_binary(n, e):.8f}')  
                            print(f'{math.sqrt(n):.8f}')
                            

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

    目录[+]