本节书摘来自华章计算机《Python语言程序设计》一书中的第3章,第3.9节,作者:[美]梁勇(Y. Daniel Liang) 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
编程题
第3.2节
3.1 (几何学:一个五边形的面积)编写一个程序,提示用户输入五边形顶点到中心的距离r,然后算出五边形的面积,如下图所示。
计算五边形面积的公式是Area =5×s×s / (4×tan(π/5)),这里的s是边长。边长的计算公式是,这里的r是顶点到中心的距离。下面是一个示例运行:
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三角函数使用的都是弧度。公式中的经纬度是西经和北纬。用负数表示东经和南纬。下面是一个示例运行。
3.3 (几何学:估算面积)从网站www.gps-data-team.com/map/上找到佐治亚州亚特兰大、佛罗里达州奥兰多、大草原佐治亚、北卡罗来纳州夏洛特的GPS位置,然后计算出这四个城市所围成的区域的大概面积。(提示:可以使用上题3.2中的公式计算两个城市之间的距离。将多边形划分成两个三角形,然后用编程题2.14中的公式计算三角形的面积。)
3.4 (几何学:五角形的面积)五角形的面积可以使用下面的公式计算(s是边长):
编写一个程序,提示用户输入五角形的边长,然后显示面积。下面是一个示例运行。
3.5 (几何学:一个正多边形的面积)正多边形是边长相等的多边形,而且所有的角相等。计算正多边形面积的公式是:
这里的s是边长。编写一个程序,提示用户输入边数以及正多边形的边长,然后显示它的面积。下面是一个示例运行。
第3.3~3.6节
3.6 (找出ASCII码的字符)编写一个程序,接收一个ASCII码值(一个0~127之间的整数),然后显示它对应的字符。例如:如果用户输入97,程序将显示字符a。下面一个示例运行:
3.7 (随机字符)编写一个程序,使用time.time()函数显示一个大写的随机字符。
3.8 (金融应用程序:货币单元)改写程序清单3-4,修正将浮点数转换成整数的过程中带来的精度损失。输入一个整数,它的后两位数字代表美分。例如:输入1156,它代表11美元56美分。
3.9 (金融应用程序:工资表)编写一个程序,读取下面的信息,然后打印一个工资报表。
雇员姓名(例如:史密斯)
一周工作时间(例如:10)
每小时报酬(例如:9.75)
联邦预扣税率(例如:20%)
州预扣税率(例如:9%)
一个示例运行如下所示。
3.10 (Turtle:显示统一码)编写一个程序,显示希腊字母αβγδεξηθ。这些字符的统一码是:u03b1 u03b2 u03b3 u03b4 u03b5 u03b6 u03b7 u03b8。
3.11 (反向数字)编写一个程序,提示用户输入一个四位整数,然后显示颠倒各位数字后的数。下面是一个示例运行。
3.13 (Turtle:显示一个STOP牌)编写一个程序,显示一个STOP牌,如图3-5b所示。六边形是红色的而文字是白色的。
3.14 (Turtle:绘制一个奥运五环标志)编写一个程序,提示用户输入环的半径,然后画出大小相等的五环,颜色依次为:蓝、黑、红、黄、绿,如图3-5c所示。
3.15 (Turtle:绘制一个笑脸)编写一个程序,绘制一个笑脸,如图3-6a所示。
3.16 (Turtle:绘制图形)编写一个程序,绘制一个三角形、一个正方形、一个五边形、一个六边形和一个八边形,如图3-6b所示。注意:这些图形的底边是平行于x轴的。(提示:将turtle的朝向调整60度就可以使三角形的底边平行于x轴。)
3.17 (Turtle:三角形面积)编写一个程序,提示用户输入一个三角形的三点:p1、p2、p3,然后在三角形的下面显示三角形的面积,如图3-7a所示。计算三角形面积的公式参见编程题2.14。
3.18 (Turtle:三角形的角)修改程序清单3-2,编写一个程序,提示用户输入三角形的三点:p1、p2和p3,然后显示它的角度,如图3-7b所示。
3.19 (Turtle:绘制一条线)编写一个程序,提示用户输入两点,然后绘制一条连接两点的线并且显示这些点的坐标,如图3-7c所示。