当前位置:   article > 正文

python语言程序设计 答案,python程序设计教程题库_python语言程序设计基础答案

python语言程序设计基础答案

这篇文章主要介绍了python语言程序设计编程题答案,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

​​第三章   函数

3.7 课后习题

(1)在Python语言中,使用函数分为两个步骤:定义函数和调用函数

(2)在Python语言中,函数定义需要使用def关键字

(3)形参是在定义函数时函数后面的一对小括号中给出的参数列表

(4)实参是在调用函数时函数后面的一对小括号中给出的参数列表

(5)能够将一个函数的运算结果返回到调用函数的位置,以便可以继续用该运算结果参与其他运算,此时则应使用return语句

(6)使用import将整个模块导入,也可以使用from import将模块中的标识符直接导入当前环境

(7)可以适用 “ from 模块名 import * ”的方式导入一个模块中的所有标识符

(8)定义一个包,就是创建一个文件夹并在该文件夹下创建一个_init_.py文件,文件夹的名字就是包名

(9)猴子补丁是指在运行时动态替换已有的代码,而不需要修改原始代码

(10)下列说法中错误的是(B

         A.当调用函数时,如果没有为某些形参传递对应的实参,则这些形参会自动使用默认参数值

         B.在使用关键字参数调用函数时,实参的传递顺序必须与形参列表中形参的顺序一致

         C.当普通实参传递给形参后,如果在函数体中对形参值做修改,则该修改并不会影响实参,即实参值不会改变

         D.如果实参是列表等对象,那么可在函数体中通过形参修改实例列表中对应元素的值

(11)下列关于拆分参数列表的说法正确的是(A

         A.列表、元组拆分出来的结果作为位置参数,字典拆分出来的结果作为关键字参数

         B.列表、元组和字典拆分出来的结果都作为关键字参数

         C.列表、元组和字典拆分出来的结果都作为位置参数

         D.列表、元组拆分出来的结果作为关键字参数,而字典拆分出来的结果作为位置参数

(12)写出下面程序段的输出结果

  1. def ModifyVal(x,y):
  2. z = x
  3. x = y
  4. y = z
  5. def ModifyListElement(ls,idx,val):
  6. ls[idx] = val
  7. a,b = 3,5
  8. print(a,b)
  9. ModifyVal(a,b)
  10. print(a,b)
  11. c = [7,8,9]
  12. print(c)
  13. ModifyListElement(c,1,6)
  14. print(c)
  15. #输出结果
  16. 3 5
  17. 3 5
  18. [7, 8, 9]
  19. [7, 6, 9]

(13)写出下面程序段的输出结果

  1. def Cir(radius,color = 'red'):
  2. print('半径:%d,颜色:%s'%(radius,color))
  3. Cir(10)
  4. Cir(20,color='green')
  5. Cir(color='blue',radius=30)
  6. #输出结果
  7. 半径:10,颜色:red
  8. 半径:20,颜色:green
  9. 半径:30,颜色:blue

(14)函数sum的功能是求参数的和并返回,参数个数不限。请将程序填写完整

def Sum(*args):
    s=0
    for i in args:
        s += i
    return s
print(Sum(1,2,3,4,5)) 

(15)已知模块文件arithmetic.py的内容如下:

def plus(x,y):
    return x+y
def multi(x,y):
    return x*y

编写程序,将模块导入,调用其中的函数,请将程序填写完整
使用import导入:
import arithmetic
print(arithmetic.plus(3,5))
print(arithmetic.multi(5,6))

使用from import依次导入函数:
from arithmetic import plus,multi
print(plus(3,5))
print(multi(5,6))

使用from import导入所有标识符:
from arithmetic import *
print(plus(3,5))
print(multi(5,6))

(16)按照作用域的不同,Python中的变量可以分为局部变量和全局变量

(17)在一个函数中使用global关键字,可以声明在该函数中使用的是全局变量,而非局部变量

(18)通过nonlocal关键字,可以使内层的函数直接使用外层函数中定义的变量

(19)递归函数是指在一个函数内部通过调用自己来求解一个问题

(20)lambda函数也称为匿名函数,是一种不适用def定义函数的形式,其作用是能快速定义一个简短的函数

(21)lambda函数的函数体只是一个表达式,所以lambda函数通常只能实现比较简单的功能

(22)如果内层函数使用了外层函数中定义的局部变量,并且外层函数的返回值是内层函数的引用,就构成了闭包

(23)下列说法中错误的是(D

         A.在一个函数中定义的变量就是局部变量

         B.局部变量的作用域是从定义位置到函数结束位置

         C.在所有函数外定义的变量就是全局变量

         D.全局变量的作用域是从定义位置到程序结束位置

(24)下列关于修饰器的说法错误的是(C

         A.利用装饰器,可以在不修改已有代码的情况下向已有函数中注入代码,使其具备新的功能

         B.一个装饰器可以为多个函数注入代码,一个函数也可以注入多个装饰器的代码

         C.一个装饰器可以为多个函数注入代码,而一个函数只能注入一个装饰器的代码

         D.装饰器实际上就是 一种闭包

(25)写出下面程序的输出结果

  1. def outer():
  2. x=100
  3. global y
  4. y=200
  5. def inner():
  6. nonlocal x
  7. x=1000
  8. y=2000
  9. print('inner函数中的x,y值为',x,y)
  10. inner()
  11. print('outer函数中的x,y值为',x,y)
  12. x=10
  13. y=20
  14. outer()
  15. print("执行outer,inner函数之后x,y值为",x,y)
  16. #输出结果
  17. inner函数中的x,y值为 1000 2000
  18. outer函数中的x,y值为 1000 200
  19. 执行outer,inner函数之后x,y值为 10 200

(26)写出下面闭包程序的输出结果

  1. def f(x):
  2. y = 100
  3. def inner(z):
  4. return x * y + z
  5. return inner
  6. a10 = f(10)
  7. a20 = f(20)
  8. print(a10(29))
  9. print(a20(29))
  10. #输出结果
  11. 1029
  12. 2029

(27)已知高阶函数的程序如下

def FunAdd(f,x):
    return f(x)
def area(r):
    return 3.14*r*r
def perimeter(r):
    return 2*3.14*r
print(FunAdd(area,5))
print(FunAdd(perimeter,5))

请将其中的area函数和perimeter函数改写为lambda函数python创意turtle作品。请将改写后的程序填写完整

def FunAdd(f,x):
    return f(x)
print(FunAdd(lambda r:3.14*r*r,5))
print(FunAdd(lambda r:2*3.14*r,5))

(28)请编写递归函数fib(n),实现斐波那契数列第n项的值

  1. def fib(n):
  2. if n <= 1:
  3. return n
  4. else:
  5. return (fib(n - 1) + fib(n - 2))
  6. num = int(input("输入想要输出的第几项:"))
  7. if num < 0:
  8. print("输入正数")
  9. elif num == 0:
  10. print("0")
  11. else:
  12. print("斐波那契数列:")
  13. for i in range(num):
  14. print(fib(i+1))

码字不易,能否给个不要钱的,关注我,带你发现更多知识!

文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树首页概览433583 人正在系统学习中
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/833448
推荐阅读
相关标签
  

闽ICP备14008679号