Python 第5章课后习题参考答案

这篇具有很好参考价值的文章主要介绍了Python 第5章课后习题参考答案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第5章课后习题参考答案
一、单选题

  1. 关于函数描述错误的是______。(答案为D)
    A. 有利于简化程序结构
    B. 有利于提高代码的复用率,减少代码冗余
    C. 有利于程序模块设计和多人分工协作
    D. 有利于提高代码的执行速度
    2.下列函数返回值的类型是______。(答案为C)
    def func(x,y):
    x=x+5
    y=y+10
    return x,y
    A. int B. list C. tuple D. set
    3.执行下列程序后,屏幕输出结果是______。(答案为A)
    s=5
    def f(x):
    global s
    s=s+x
    return s
    a=10
    print(f(a))
    A. 15 B. 5 C. 10 D. 程序报错
  2. 以下不是函数作用的选项是______。(答案为B)
    A. 增强代码可读性 B. 提高代码执行速度
    C. 降低编程复杂度 D. 复用相同功能代码
  3. Python 语句 “f=lambda x,y:x*y;print(f(12,34))” 的运行结果是______。(答案为D)
    A. 12 B. 34 C. 45 D. 408
  4. 关于 lambda 函数的描述中,错误的是______。(答案为A)
    A. lambda不是Python的保留字
    B. lambda函数也称为匿名函数
    C. lambda函数不能包含return语句
    D. lambda定义了一种特殊的函数
    7. 可变参数**kw 收集关键字参数,并将这些参数存储到一个______中。(答案为C)
    A. 列表 B. 元组 C. 字典 D. 数组
    8. 以下选项中,对于递归程序的描述不正确的是________。(答案为C)
    A. 书写简单 B. 递归程序都可以用非递归方法替代
    C. 执行效率高 D. 一定要有终止条件
    9. 以下选项中,对于函数定义错误的是_______。(答案为A)
    A. def vfunc(*a,b) B. def vfunc(a,b)
    C. def vfunc(a,*b) D. def vfunc(a,b=2)
    10. 关于Python的全局变量和局部变量,以下选项中描述错误的是‬‬‬‬‬‬ _______。‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬(答案为C)
    A. 全局变量指函数之外定义的变量,一般没有缩进,在程序执行全过程有效
    B. 简单数据类型变量无论是否与全局变量重名,仅在函数内部创建和使用,函数退出后变量被释放
    C. 局部变量指在函数内部使用的变量,当函数退出时,变量依然存在,下次函数调用可以继续使用
    D. 使用global保留字声明简单数据类型变量后,该变量作为全局变量使用
    二、填空题
  5. Python中定义函数的关键字是________。(def)
    2. 在函数内部可以通过关键字_________来定义全局变量。(global)
    3. 当函数的返回值不止一个时,默认的返回值是以_______类型出现。(元组)
    3. 如果函数中没有return语句或者return语句不带任何返回值,则该函数的返回值为______。(None)
    4. 函数返回时,传入的组合数据类型变量________(会/不会)被释放。(不会)
    5. 已知f= lambda x:5,那么表达式f(3)的值为__________。(5)
    6. 已知函数定义 def func(*p):return sum§,那么表达式func(1,2,3)的值为____________。(6)
  6. 以下是“闭包”的一个例子,请目测下一个print(a())会输出______?(10)
>>> def funX():
     x=5
     def funY():
        nonlocal x
        x+=1
        return x
     return funY
>>> a=funX()
>>> print(a())
>>> print(a())
>>> print(a())
>>> print(a())

三、设计题文章来源地址https://www.toymoban.com/news/detail-472966.html

  1. 设计一个函数,参数为整数,返回斐波那契数列的前n项之和。
    参考答案:
def sum(n):
    a = 0
    b = 1
    sum = 0
    for i in range(n):
       sum += a
       a, b = b, a + b
    return sum
print("The sum of FIB is", sum(8),"!")
  1. 设计一个函数,调用该函数能够打印一个由指定字符组成的n行金字塔。其中,指定打印的字符和行数n分别由两个形参表示。
    参考答案:
def jzt(m,n):
    for i in range(1,n):
        print(' '*(20-(i-1)),m*(2*i-1))

a= int (input("输入打印行数:"))
b= str (input("要打印的字符:"))
jzt(b,a+1)

  1. 设计一个函数,计算传入字符串中数字、字母、空格以及其他类字符的个数。
    参考答案:
def check(msg):
res = {'num': 0,'string': 0,'space': 0,'other': 0,}
for s in msg:
if s.isdigit():             #判断属于数字
res['num'] += 1
elif s.isalpha():           #判断属于字符串
res['string'] += 1
elif s.isspace():           #判断属于空格
res['space'] += 1
else:
res['other'] += 1
return res
res = check('hello name:jim passowrd:win2008')   
#给函数传入参数‘hello name:jim passowrd:win2008’
print(res)                           
#结果是{'num': 4, 'string': 23, 'space': 2, 'other': 2}
  1. 设计函数,输入参数n,判断该数是否为水仙花数。
    参考答案:
def sxh (z) :
    q = z % 10
    w = z // 10 % 10
    e = z // 100
    if z == q * q * q + w * w * w + e * e * e:
        return True
        exit(1)
    return False

if sxh(153):
    print("是水仙花数" )
else:
    print("不是水仙花数")
  1. 设计一个函数,求正整数的各位上的数字之和,要求递归思路实现.
    参考答案:
def sum_digits(number):
# Base Case
   if number == 0:
      return 0
   else:
# Mod (%) by 10 gives you the rightmost digit (227 % 10 == 7),
# while doing integer division by 10 removes the rightmost
# digit (227 // 10 is 22)
      return (number % 10) + sum_digits(number // 10)
print(sum_digits(57))
  1. 设计一个函数,判断一个数是否为素数?并求出所有四位数的素数.
    参考答案:
import math
def sushu(m):
     k = int(math.sqrt(m))
     for i in range(2, k+2):
        if m % i == 0:
            break
    if i == k+1:
        return True
    else:
        return False

a=int(input('请输入一个数:'))
if a==1:
    print('1既不是素数也不是合数')
else:
    if sushu(a)==True:
        print(a,'是素数')
    else:
        print(a,'是合数')

print('四位数素数为:')
n=0
for i in range(1001,10000,2):
    if sushu(i)==True:
        if n%30==0:
            print()
        print(i,end=' ')
        n=n+1
        

到了这里,关于Python 第5章课后习题参考答案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

领支付宝红包 赞助服务器费用

相关文章

  • Spark大数据分析与实战课后习题参考答案

    项目一: 一、选择题 DCCDAD 二、简答题 1、Hadoop MapReduce要求每个步骤间的数据序列化到磁盘,所以I/O成本很高,导致交互分析和迭代算法开销很大;Spark 提供了内存计算,把中间结果放到内存中,带来了更高的迭代运算效率。通过支持有向无环图(DAG)的分布式并行计算的编

    2024年02月11日
    浏览(38)
  • 《计算机视觉教程》第三版_部分课后习题个人参考答案

    注:不是标准答案,可能存在错误,只是自己做完了和同学核对之后的结果,仅分享,欢迎指正错误 *1.10试计算如图题1.10中两个像素p和q之间的DE距离、D4距离和D8距离 *2.1试列表比较CCD 、CMOS 、CID的优点和缺点。 2.2使用一个28mm焦距的镜头拍摄距离10m外、高3m的物体,该物体的

    2024年02月08日
    浏览(42)
  • 深度学习:从入门到精通课后习题解答本答案仅供参考

    第一章: 1、通过本章的学习,你认为深度学习崛起的原因有哪些? 答:(1) 计算能力的发展。深度学习的起源并不晚,但是在发展初期遭遇瓶颈的最主要原因是:当时的计算资源无法支持我们实现深度学习如此庞大复杂的计算。直到我们开始使用GPU进行计算后,深度学习才终

    2024年02月07日
    浏览(53)
  • 【机器学习】西瓜书学习心得及课后习题参考答案—第4章决策树

    这一章学起来较为简单,也比较好理解。 4.1基本流程——介绍了决策树的一个基本的流程。叶结点对应于决策结果,其他每个结点则对应于一个属性测试;每个结点包含的样本集合根据属性测试的结果被划分到子结点中;根结点包含样本全集,从根结点到每个叶结点的路径对

    2024年02月14日
    浏览(39)
  • 【机器学习】西瓜书学习心得及课后习题参考答案—第3章线性模型

    过了一遍第三章,大致理解了内容,认识了线性回归模型,对数几率回归模型,线性判别分析方法,以及多分类学习,其中有很多数学推理过程以参考他人现有思想为主,没有亲手去推。 线性模型 linear model 非线性模型 nonlinear model 可解释性 comprehensibility 可理解性 understanda

    2024年02月15日
    浏览(47)
  • 【机器学习】西瓜书学习心得及课后习题参考答案—第5章神经网络

    5.1神经元模型——这是神经网络中最基本的成分。 5.2感知机与多层网络——由简单的感知机循序渐进引出多层前馈神经网络。 5.3误差逆传播算法——BP算法,迄今最成功的神经网络学习算法。算法如下(公式参考西瓜书) 停止条件与缓解BP过拟合的策略有关,一种策略是“早

    2024年02月14日
    浏览(44)
  • 【机器学习】西瓜书学习心得及课后习题参考答案—第6章支持向量机

    6.1 间隔与支持向量—— w w w 是法向量,垂直与超平面 w T x + b = 0 w^Tx+b=0 w T x + b = 0 。这一节了解了支持向量机的基本型。 min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t .    y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , . . . , m . min_{w,b} frac{1}{2}||w||^2 \\\\ s.t. y_i(w^Tx_i+b) ge 1, qquad i=1,2,...,m. w , b min ​

    2024年02月14日
    浏览(42)
  • 软件测试技术 第四章 白盒测试 课后习题参考答案 - 杨胜利

    1.什么是白盒测试? 白盒测试技术是一种常用的软件测试方法,不仅软件测试人员需要掌握,开发人员也需要在开发时用此方法测试自己开发的程序; 白盒测试是一种从开发人员角度出发的测试,主要以程序的源代码为依据,对程序的内部逻辑结构进行测试,故又称“结构测

    2024年02月05日
    浏览(45)
  • 【学习笔记、面试准备】机器学习西瓜书要点归纳和课后习题参考答案——第3章

    目录地址 线性模型定义: 其中x是输入向量 优点:形式简单,易于建模,可解释性好。 输入预处理:连续值可以直接用,离散值若有序,可以按序赋值变连续(如“高,中,低”变为“1,0.5,0”,否则可以单热点码编码。 回归常用MSE,要偏导数为0,当输入是一维时可以算

    2024年02月08日
    浏览(45)
  • 《软件工程教程》(第2版) 主编:吴迪 马宏茹 丁万宁 第六章课后习题参考答案

    (1)为了提高测试的效率,应该( D )。         A.随机地选取测试数据        B.取一切可能的输入数据作为测试数据        C.在完成编码以后制定软件的测试计划        D.选择发现错误的可能性大的数据作为测试数据 (2)软件测试的目的是( B )。        A.评价

    2024年02月03日
    浏览(96)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包