《Python 程序设计》张莉主编 课后习题答案

2023_4_1

大概是有一个新的学期到了吧,这个系列的文章最近又突然火了起来。遗憾的是,我并没有完全地更新完,但是代码其实我已经基本上写完了,除了最后的爬虫以及 NLP 部分(个人觉得入门也没必要学这里)。

代码在我的 Github 仓库:点点这里打开传送门。(注:打开 Github 需要魔法)

系列文章目录

第一章 程序设计和 Python 语言

第二章 Python 基础

第三章 序列

第四章 字典和集合

第五章 程序控制结构

第六章 函数

第七章 文件

第八章 面向对象程序设计

第九章 异常

第十章 Python 科学计算与数据分析开发基础

第十一章 网络爬虫入门


前言

本系列文章为张莉主编的《Python 程序设计》的课后习题答案,文章内容是本人在学习过程中根据自己的理解完成的课后作业,并非标准答案,如有错误,敬请指正,会及时修改。

Emmmmmmm,最后希望自己能更完这个系列,算是给自己的python入门一个交代,也是给学弟学妹们一点点学习上的帮助吧,当然希望大家不要太依赖这个系列的内容,编程的学习最重要的还是自己亲手去写,每一个程序员都有一个创造世界的梦。

本篇为第二章 《Python 基础》的课后习题答案,第一章略过。


正文

题目一

  • 题目:从键盘上输入浮点数变量x的值,求方程y=x^2+2x-10所对应的y值。注意用于输入变量的input()函数的返回值为str类型
  • 知识点:input () 函数介绍:

                        1. 作用:用于提示用户输入信息,可以实现人机交互

                        2. 返回类型:字符型(string)#print () 也是字符型

                                #可以使用强制转化类型转化函数来实现不同类型的输出

  • 代码实现:
x=input("请输入一个浮点型变量x:")
y = float(x)**2 + float(x)*2 - 10
print(y)

题目二

  • 题目:从键盘输入两个整数(假设都不为0),求这两个整数的和、差、积、商并输出。尝试使用整除与非整除两种运算求商

  • 知识点:在 python 中整除用//,非整除用/

  •  代码实现:

    x=int(input("请输入整数1:"))
    y=int(input("请输入整数2:"))
    a=x+y
    b=x-y
    c=x*y
    
    if x%y==0:
            d=x//y
    else:
            d=x/y
    
    print(a,b,c,d)

题目三

  • 题目:编写程序,输入一个9位的整数,将其分解为3个3位的整数并输出,其中个、十、百位为一个整数,千、万、十万为一个整数,百万、千万、亿位为一个整数。例如,123456789分解为123、456和789.

  • 知识点:

    list切片处理:

            [start:stop:step]

            1.step表示步长;切片区间为(start,stop)#包含start,但是不包含stop

            2.step>0,从左往右切;step<0,从右向左切

            3.start、stop为负时,无论step的正负,start、stop代表列表从左往右的倒数第几个元素

  • 代码实现:

    x=input("请输入一个9位的整数:")
    
    #print(x[::3])
    #字符串也可以用切片处理,只是操作结果仍是字符串
    print(x[:3])
    print(x[3:6])
    print(x[6:9])

题目四

  • 题目:编写程序,从键盘输入一个4位正整数(假设各位不为0),输入该数的反序数。反序数即原数各位上的数字颠倒次序所形成的另一个整数。例如,1234的反序数是4321;2468反序数为8642.

  • 代码实现:

    x=input("请输入一个4位正整数:")
    print(x[::-1])#倒序切片

    这个真的比C简单好多。。。。(当然,有利也有弊,python 作为一种纯文本、代码式的编程语言执行效率会比C低一些)

题目五

  • 题目:编写程序,输入分钟数(如10000000),输出这些分钟代表多少年零多少天零多少小时零多少分钟。为了简化问题,假设一年有365天。

  • 知识点:f字符串,是python通过把花括号内的变量替换为其值来设置字符串的格式

  • 代码实现:

    x=int(input("请输入一个正整数表示分钟:"))
    #divmod()函数用法:把除数和余数运算结合起来,返回一个包含商和余数的元组(tuple)
    a1, a2 = divmod(x, 525600)
    b1, b2 = divmod(a2,1440)
    c1, c2 = divmod(b2,60)
    print(f"您输入的分钟对应{a1}年{b1}天{c1}时{c2}分")

题目六

  • 题目:编写程序,接受键盘输入的两个正实数保存到变量x,y中,使用两种方法计算并输出x^y的值。

  • 代码实现:

    import math
    x=int(input("请输入一个正整数作底数:"))
    y=int(input("请输入一个正整数作指数:"))
    z1=math.pow(x,y)#pow()通过内置的方法直接调用,内置方法会把参数作为整型,而math函数会把参数转化为float
    z2=1
    for _ in range(y):
            z2=z2*x       
    print(z1)
    print(float(z2))

题目七

  • 题目:编写程序,输入水的重量(以kg为单位)以及水的初始温度和最终温度,计算并输出将水从初始温度加热到最终温度所需的能量。

    计算能量的公式为:Q=M*(最终温度-初始温度)*4184

    这里的M是以kg为单位的水的重量,温度以摄氏度为单位,能量Q为J为单位。

  • 代码实现:

    M=float(input("水的重量为:"))
    t1=float(input("水的初始温度为:"))
    t2=float(input("水的最终温度为:"))
    Q=M*(t2-t1)*4184
    print(f"将水加热所需能量为{Q}J")


总结

以上就是第二章简单编程题的答案了,都是一些非常基础且零碎的知识点,在接下来的编程学习使用过程中,也会逐渐熟悉这些 Python 的语法。

此外,我大概扫了一遍这本书,它对很多基础的知识点介绍的并不详细,如果你没有其它语言的基础,学习的过程中大概率会有很多的问号,建议去看看埃里克 · 马瑟斯所著的《Python 编程 从入门到实践》,一本很经典的入门书。

最后再强调一下,仅供参考(满满的求生欲)。

Python中,试验设计库通常指的是SciPy库中的stats模块。该模块提供了许多用于试验设计和统计分析的函数和工具。通过使用stats模块,可以进行方差分析、t检验、卡方检验等常见的试验设计和统计分析操作。 然而,引用中提到的《Python程序设计实践教程》并未明确提到具体的试验设计库。根据引用的描述,可能是指作者自己编写的一些试验设计相关的库或代码。 因此,如果您想要了解更多关于Python中的试验设计库,我建议您参考SciPy库中的stats模块,或者搜索其他第三方库,如statsmodels等,以满足您的具体需求。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [python程序设计实践教程张莉答案-Python程序设计(2018年春).pdf](https://download.csdn.net/download/qq_43934844/87898408)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Python程序设计题库](https://download.csdn.net/download/Karid/87924719)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Monty _Lee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值