Chapter~5 整型

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

普通整型:在32位机器上,取值范围是 -2^31 ~ 2^31 - 1 ,也就是 -2 147 483 647  ~  2 147 483 647;在64位机器上,取值范围将是64位;八进制整形以 0开始,十六进制则以0x 或 0X 开始。

长整形:Python长整形类型能表达的数值仅仅与机器支持的(虚拟)内存大小有关,可以轻松表达很大的整形。这点和C或其它编译型语言的长整形类型有很大的不同。

5-2操作符。

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

084344_PhjT_2772312.png

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

085403_NGK6_2772312.png

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

A:90 ~ 100

B:80 ~ 89

C:70 ~ 79

D:60 ~ 69

F:<60

091514_BI7W_2772312.png

 

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

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

092502_AOBz_2772312.png

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

094946_NC3u_2772312.png

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

100452_rilO_2772312.png

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

100832_tG3j_2772312.png

100933_IYXl_2772312.png

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

(a)正方形和立方体

(b)圆和球

104248_aUNx_2772312.png

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

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

017是八进制数,换算成十进制数为15

032同理

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

两个长整型数相加,l与数字1相似,提倡长整型用大写L

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

122539_HMmK_2772312.png

5-11 取余。

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

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

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

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

(a)

123444_OyPC_2772312.png

(b)

130049_4WjF_2772312.png

(c)

看有没有余数

(d)

130812_VR3j_2772312.png

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

140055_wPll_2772312.png

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

140548_CPCr_2772312.png

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

140919_3Pkb_2772312.png

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

143239_NJr5_2772312.png

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

Enter opening balance:100.00

Enter monthly payment: 16.13

Amount Remaining

Pymt   # Paid    Balance

-----     ------       ---------

0   $ 0.00   $100.00

1   $16.13   $ 83.87

2   $16.13   $ 67.74

3   $16.13   $ 51.61

4   $16.13   $ 35.48

5   $16.13   $ 19.35

6   $16.13   $ 3.22

7   $ 3.22   $ 0.00

144235_1Tyd_2772312.png

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

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

145134_4dtn_2772312.png

转载于:https://my.oschina.net/xyjiejie/blog/711133

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值