5.9 练习

本章的练习可以先通过应用程序的形式实现。一旦功能齐备并且调试通过,建议读者将自己的代码功能用函数封装起来,以便在后面的练习中重用代码。关于编程风格我在这儿提醒一下,最好不要在函数内使用print语句输出信息,而是通过return语句返回必要的值。这样调用函数的代码就可以自己处理显示方式。这样你的代码就适应性更广,更便于重用。

5-1.整形。讲讲Python普通整型和长整型的区别。

5-2.操作符。

(a)写一个函数,计算并返回两个数的乘积。

(b)写一段代码调用这个函数,并显示它的结果。

5-3.标准类型操作符。写一段脚本,输入一个测验成绩,根据下面的标准,输出他的评分成绩(A-F)。

A: 90~100

B: 80~89

C: 70~79

D: 60~69

F: <60

5-4.取余。判断给定年份是否是闰年。使用下面的公式。

一个闰年就是指它可以被4整除,但不能被100整除,或者它既可以被4又可以被100整除。比如1992年、1996年和2000年是闰年,但1967年和1900年则不是闰年。下一个是闰年的整世纪是2400年。

5-5.取余。取一个任意小于1美元的金额,然后计算可以换成最少多少枚硬币。硬币有1美分、5美分、10美分、25美分4种。1美元等于100美分。举例来说,0.76美元换算结果应该是3枚25美分,1枚1美分。类似76枚1美分,2枚25美分+2枚10美分+1枚5美分+1枚1美分这样的结果都是不符合要求的。

5-6.算术。写一个计算器程序。你的代码可以接受这样的表达式,两个操作数加一个操作符:N1操作符N2。其中N1和N2为整型或浮点型,操作符可以是+、-、、/、%、*,分别表示加法、减法、乘法、整型除、取余和幂运算。计算这个表达式的结果,然后显示出来。提示:可以使用字符串方法split(),但不可以使用内建函数eval()。

5-7.营业税。随意取一个商品金额,然后根据当地营业税额度计算应该交纳的营业税。

5-8.几何。计算面积和体积。

(a)正方形和立方体

(b)圆和球

5-9.数值形式回答下面关于数值格式的问题:

(a)为什么下面的例子里17+32等于49,而017+32等于47,017+032等于41?

5.9 练习 - 图1

(b)为什么下面这个表达式我们得到的结果是134L而不是1342?

5.9 练习 - 图2

5-10.转换。写一对函数来进行华氏度到摄氏度的转换。转换公式为C=(F-32)*(5/9)应该在这个练习中使用真正的除法,否则你会得到不正确的结果。

5-11.取余。

(a)使用循环和算术运算,求出0~20之间的所有偶数。

(b)同上,不过这次输出所有的奇数。

(c)综合(a)和(b),请问辨别奇数和偶数的最简单的方法是什么?

(d)使用(c)的成果,写一个函数,检测一个整型能否被另一个整型整除。先要求用户输入两个数,然后你的函数判断两者是否有整除关系,根据判断结果分别返回True和False。

5-12.系统限制。写一段脚本确认一下你的Python所能处理的整型、长整型、浮点型和复数的范围。

5-13.转换。写一个函数把由小时和分钟表示的时间转换为只用分钟表示的时间。

5-14.银行利息。写一个函数,以定期存款利率为参数,假定该账户每日计算复利,请计算并返回年回报率。

5-15.最大公约数和最小公倍数。请计算两个整型的最大公约数和最小公倍数。

5-16.家庭财务。给定一个初始金额和月开销数,使用循环,确定剩下的金额和当月的支出数,包括最后的支出数。Payment()函数会用到初始金额和月额度,输出结果应该类似下面的格式(例子中的数字仅用于演示)。

5.9 练习 - 图3

5.9 练习 - 图4

5-17.随机数。熟读随机数模块然后解下面的题。

生成一个有N个元素的由随机数n组成的列表,其中N和n的取值范围分别为(1< N <= 100)和(0<=n<=2*31 -1)。然后再随机从这个列表中取N(1<=N<=100)个随机数出来,对它们排序,然后显示这个子集。