《Python语言程序设计》——3.9 本章总结

简介:

本节书摘来自华章计算机《Python语言程序设计》一书中的第3章,第3.9节,作者:[美]梁勇(Y. Daniel Liang) 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.9 本章总结

  1. Python提供数学函数:解释器里的abs、max、min、pow和 round;math模块里的fabs、ceil、floor、exp、log、sqrt、sin、cos、acos、asin、tan、degree和radians。
  2. 一个字符串是一个字符序列。字符串的值可以用一对单引号或双引号括起来。Python里并没有字符数据类型;单一字符的字符串代表一个字符。
  3. 转义序列是一种特殊的语法,它以“”开始,再紧跟一个字母或者数字组合,以此来代表一个特殊的字符。例如'、"、t和n。
  4. 字符' '、t、f、r和n被称为空白字符。
  5. Python里所有的数据,包括数字和字符串都是对象。你可以调用方法实现对象上的操作。
  6. 你可以使用format函数格式化一个数字或字符串,然后返回一个字符串的结果。

编程题
第3.2节
3.1 (几何学:一个五边形的面积)编写一个程序,提示用户输入五边形顶点到中心的距离r,然后算出五边形的面积,如下图所示。


b54aaccb784c6b22268062caaa8d4d20b77fcb49

计算五边形面积的公式是Area =5×s×s / (4×tan(π/5)),这里的s是边长。边长的计算公式是,这里的r是顶点到中心的距离。下面是一个示例运行:


6acc5e950b964ddd309f969a998867f400d114cb

3.2 (几何学:大圆距离)大圆距离是球面上两点之间的距离。假设(x1,y1)和(x2,y2)是两点的经度和纬度,两点之间的大圆距离可以用下面的公式计算:

d = radius × arccos(sin(x1) × sin(x2) + cos(x1) × cos(x2) × cos(y1 - y2))

编写一个程序,提示用户输入地球表面两点经度和纬度的度数然后显示它们的大圆距离。地球的平均半径为6371.01km。注意:你需要使用math.radians函数将度数转换成弧度数,因为Python三角函数使用的都是弧度。公式中的经纬度是西经和北纬。用负数表示东经和南纬。下面是一个示例运行。


<a href=https://yqfile.alicdn.com/5bfd20a9847354d1c5ef938cbe126bb535526638.png
" >

3.3 (几何学:估算面积)从网站www.gps-data-team.com/map/上找到佐治亚州亚特兰大、佛罗里达州奥兰多、大草原佐治亚、北卡罗来纳州夏洛特的GPS位置,然后计算出这四个城市所围成的区域的大概面积。(提示:可以使用上题3.2中的公式计算两个城市之间的距离。将多边形划分成两个三角形,然后用编程题2.14中的公式计算三角形的面积。)
3.4 (几何学:五角形的面积)五角形的面积可以使用下面的公式计算(s是边长):


7423db8ad335072e890743cab09c2f627ed382d3

编写一个程序,提示用户输入五角形的边长,然后显示面积。下面是一个示例运行。


b00511f66cda37c38b4b4d915fc61d1023956c24

3.5 (几何学:一个正多边形的面积)正多边形是边长相等的多边形,而且所有的角相等。计算正多边形面积的公式是:


49791965517d3ee835cba97a316253746d5a7777

这里的s是边长。编写一个程序,提示用户输入边数以及正多边形的边长,然后显示它的面积。下面是一个示例运行。


<a href=https://yqfile.alicdn.com/4ad1ae05f6ced0b3be73ea3dff6444dd333211ca.png" >

第3.3~3.6节
3.6 (找出ASCII码的字符)编写一个程序,接收一个ASCII码值(一个0~127之间的整数),然后显示它对应的字符。例如:如果用户输入97,程序将显示字符a。下面一个示例运行:


<a href=https://yqfile.alicdn.com/f7c32f212896d5931239e9d92257bb4b40e5e63e.png" >

3.7 (随机字符)编写一个程序,使用time.time()函数显示一个大写的随机字符。
3.8 (金融应用程序:货币单元)改写程序清单3-4,修正将浮点数转换成整数的过程中带来的精度损失。输入一个整数,它的后两位数字代表美分。例如:输入1156,它代表11美元56美分。
3.9 (金融应用程序:工资表)编写一个程序,读取下面的信息,然后打印一个工资报表。

雇员姓名(例如:史密斯)
一周工作时间(例如:10)
每小时报酬(例如:9.75)
联邦预扣税率(例如:20%)
州预扣税率(例如:9%)

一个示例运行如下所示。


dca27b33ee92cc267cd7dbe329d89a4e3f6dd1bd

3.10 (Turtle:显示统一码)编写一个程序,显示希腊字母αβγδεξηθ。这些字符的统一码是:u03b1 u03b2 u03b3 u03b4 u03b5 u03b6 u03b7 u03b8。

3.11 (反向数字)编写一个程序,提示用户输入一个四位整数,然后显示颠倒各位数字后的数。下面是一个示例运行。


02021972a54212b33cbff8a344dfbcf2ab09cbab

第3.7~3.8节
3.12 (Turtle:绘制一个五角星)编写一个程序,提示用户输入五角星的边长,然后绘制一个五角星,如图3-5a所示(提示:五角星每个点的内角是36度)。


<a href=https://yqfile.alicdn.com/e70f7e9609994d238c8e146c419661b8f09e9a27.png" >

3.13 (Turtle:显示一个STOP牌)编写一个程序,显示一个STOP牌,如图3-5b所示。六边形是红色的而文字是白色的。
3.14 (Turtle:绘制一个奥运五环标志)编写一个程序,提示用户输入环的半径,然后画出大小相等的五环,颜色依次为:蓝、黑、红、黄、绿,如图3-5c所示。
3.15 (Turtle:绘制一个笑脸)编写一个程序,绘制一个笑脸,如图3-6a所示。


<a href=https://yqfile.alicdn.com/c05fb97c1c1d8fefce2a9e9052c05995f4f438e9.png
" >

3.16 (Turtle:绘制图形)编写一个程序,绘制一个三角形、一个正方形、一个五边形、一个六边形和一个八边形,如图3-6b所示。注意:这些图形的底边是平行于x轴的。(提示:将turtle的朝向调整60度就可以使三角形的底边平行于x轴。)
3.17 (Turtle:三角形面积)编写一个程序,提示用户输入一个三角形的三点:p1、p2、p3,然后在三角形的下面显示三角形的面积,如图3-7a所示。计算三角形面积的公式参见编程题2.14。


aff0c9ef617a69e21c0d7e63593347ee362bd971

3.18 (Turtle:三角形的角)修改程序清单3-2,编写一个程序,提示用户输入三角形的三点:p1、p2和p3,然后显示它的角度,如图3-7b所示。
3.19 (Turtle:绘制一条线)编写一个程序,提示用户输入两点,然后绘制一条连接两点的线并且显示这些点的坐标,如图3-7c所示。

相关文章
|
1月前
|
Python
如何使用Python编写一个简单的计算器程序
如何使用Python编写一个简单的计算器程序
41 0
|
1月前
|
缓存 负载均衡 安全
在Python中,如何使用多线程或多进程来提高程序的性能?
【2月更文挑战第17天】【2月更文挑战第50篇】在Python中,如何使用多线程或多进程来提高程序的性能?
|
1月前
|
索引 Python
【python基础题】——程序题(一)
【python基础题】——程序题(一)
104 1
|
2月前
|
人工智能 Java API
Python 潮流周刊#28:两种线程池、四种优化程序的方法
Python 潮流周刊#28:两种线程池、四种优化程序的方法
23 1
|
1月前
|
Linux 数据安全/隐私保护 iOS开发
python如何将程序编译成exe
python如何将程序编译成exe
32 0
|
1月前
|
存储 算法 数据处理
使用Python编写高效的数据处理程序
在当今信息爆炸的时代,数据处理变得越来越重要。本文将介绍如何使用Python语言编写高效的数据处理程序,包括利用Python内置的数据结构和函数、优化算法和并行处理等技术,帮助开发者更好地处理和分析大规模数据。
|
26天前
|
Java Python 开发者
Python 学习之路 01基础入门---【Python安装,Python程序基本组成】
线程池详解与异步任务编排使用案例-xian-cheng-chi-xiang-jie-yu-yi-bu-ren-wu-bian-pai-shi-yong-an-li
74 2
Python 学习之路 01基础入门---【Python安装,Python程序基本组成】
|
4天前
|
数据采集 JavaScript 前端开发
使用Python打造爬虫程序之破茧而出:Python爬虫遭遇反爬虫机制及应对策略
【4月更文挑战第19天】本文探讨了Python爬虫应对反爬虫机制的策略。常见的反爬虫机制包括User-Agent检测、IP限制、动态加载内容、验证码验证和Cookie跟踪。应对策略包括设置合理User-Agent、使用代理IP、处理动态加载内容、验证码识别及维护Cookie。此外,还提到高级策略如降低请求频率、模拟人类行为、分布式爬虫和学习网站规则。开发者需不断学习新策略,同时遵守规则和法律法规,确保爬虫的稳定性和合法性。
|
5天前
|
SQL 安全 Go
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
在Python Web开发中,确保应用安全至关重要,主要防范SQL注入、XSS和CSRF攻击。措施包括:使用参数化查询或ORM防止SQL注入;过滤与转义用户输入抵御XSS;添加CSRF令牌抵挡CSRF;启用HTTPS保障数据传输安全;实现强身份验证和授权系统;智能处理错误信息;定期更新及审计以修复漏洞;严格输入验证;并培训开发者提升安全意识。持续关注和改进是保证安全的关键。
11 0
|
21天前
|
分布式计算 算法 搜索推荐
优化 Python 程序的五大技巧
本文介绍了优化 Python 程序的五大技巧,涵盖了代码结构优化、算法选择、内置函数利用、库的使用以及并行处理等方面。通过对这些技巧的实践,可以提升 Python 程序的性能和效率,从而更好地满足各类应用的需求。