本人python新手,答案自己做的,如果有问题,欢迎大家评论和讨论!

更新会在本随笔中直接更新。

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

  Python的标准整形类型是最通用的数字类型。在大多数32位机器上,标准整形类型的取值范围是-2**32~2**32 - 1。

  Python的长整型类型能表达的数值仅仅与你的机器支持的(虚拟)内存大小有关,换句话说,Python能轻松表达很大的整数。

  长整型类型是标准整形类型的超集,当程序需要使用比标准整形更大的整型时,可以使用长整型类型,在整型值后面添加L,表示这个为长整型,这两种整形类型正在逐渐统一为一种。

5-2.操作符。
(a)写一个函数,计算并返回两个数的乘积。
(b)写一段代码调用这个函数,并显示它的结果。

 def x(a, b):
... c = a * b
... return c
... x(2, 3)

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

  B:80~89

  C:70~79

  D:60~69

  F:<60

 #!/usr/bin/python

 def grade(num):
if 90 <= num <= 100:
print 'A'
elif 80 <= num <= 89:
print 'B'
elif 70 <= num <= 79:
print 'C'
elif 60 <= num <= 69:
print 'D'
elif 0 <= num <= 59:
print 'F'
else:
print " The num is invalid." try:
num = int(raw_input("Input a num:"))
grade(num)
except ValueError, e:
print "You must input digits."

5-4.取余。判断给定年份是否是闰年。使用下面的公式。
  一个闰年就是指它可以被4整除,但不能被100整除,或者它既可以被4又可以被100整除。比如1992年、1996年和2000年是闰年,但1967年和1900年则不是闰年。下一个是闰年的整世纪是2400年。

 #!/usr/bin/python

 try:
year = int(raw_input("Please input a year:"))
if year % 4 == 0 and year % 100 != 0:
print "%d is a leap year." %year
elif year % 400 == 0:
print "%d is a leap year." %year
else:
print "%d is not a leap year." %year
except ValueError, e:
print "You must input a digits."

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美分这样的结果都是不符合要求的。

 #!/usr/bin/python

 try:
dollar = float(raw_input("Input the money that less than 1 dollar:"))
if dollar >= 1:
print "money is too large."
elif 0 < dollar < 1:
temp = int(dollar * 100)
(N25, temp) = divmod(temp, 25)
print "%d 25 coins." %N25
(N10, temp) = divmod(temp, 10)
print "%d 10 coins." %N10
(N5, temp) = divmod(temp, 5)
print "%d 5 coins." %N5
(N1, temp) = divmod(temp, 1)
print "%d 1 coins." %N1
else:
print "You must input larger than 0."
except ValueError, e:
print "You must input a digits."

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

 #!/usr/bin/python

 print "Enter the expression"
expression = raw_input('>') if len(expression.split('+')) == 2:
try:
splitExpression = expression.split('+')
m = float(splitExpression[0])
n = float(splitExpression[1])
print m + n
except ValueError, e:
print "Input ValueError !"
elif len(expression.split('-')) == 2:
try:
splitExpression = expression.split('+')
m = float(splitExpression[0])
n = float(splitExpression[1])
print m - n
except ValueError, e:
print "Input ValueError !"
elif len(expression.split('*')) == 2:
try:
splitExpression = expression.split('*')
m = float(splitExpression[0])
n = float(splitExpression[1])
print m * n
except ValueError, e:
print "Input ValueError !"
elif len(expression.split('/')) == 2:
try:
splitExpression = expression.split('/')
m = float(splitExpression[0])
n = float(splitExpression[1])
print m / n
except ValueError, e:
print "Input ValueError !"
elif len(expression.split('%')) == 2:
try:
splitExpression = expression.split('%')
m = float(splitExpression[0])
n = float(splitExpression[1])
print m % n
except ValueError, e:
print "Input ValueError !"
elif len(expression.split('**')) == 2:
try:
splitExpression = expression.split('**')
m = float(splitExpression[0])
n = float(splitExpression[1])
print m ** n
except ValueError, e:
print "Input ValueError !"
else:
print "Input Error !"

5-8.几何。计算面积和体积。
(a)正方形和立方体
(b)圆和球

 #!/usr/bin/python

 from math import pi

 def square(length):
area = length ** 2
print "The area of square is %0.2f" %area def cube(length):
volume = length ** 3
print "The volume of cube is %0.2f" %volume def circle(radius):
area = pi * radius ** 2
print "The area of circle is %0.2f" %area def sphere(radius):
volume = 4 * pi * radius ** 2
print "The volume of sphere is %0.2f" %volume if __name__ == "__main__":
try:
print "*****Direct execute*****"
num = float(raw_input("Enter a num:"))
square(num)
cube(num)
circle(num)
sphere(num)
except ValueError, e:
print " Input a invaild num !" if __name__ == "test":
try:
print "*****Module called*****"
num = float(raw_input("Enter a num:"))
square(num)
cube(num)
circle(num)
sphere(num)
except ValueError, e:
print " Input a invaild num !"

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

 #!/usr/bin/python

 def convert(x):
c = (x - 32) * (5.0 / 9)
print "The temperature of C is %0.2f" %c if __name__ == "__main__":
try:
m = float(raw_input("Enter the temperature of F:"))
convert(m)
except ValueError, e:
print "Input Error !"

5-11.取余。
(a)使用循环和算术运算,求出0~20之间的所有偶数。
(b)同上,不过这次输出所有的奇数。
(c)综合(a)和(b),请问辨别奇数和偶数的最简单的办法是什么?
(d)使用(c)的成果,写一个函数,检测一个整型能否被另一个整型整除。现要求用户输入两个数,然后你的函数判断两者是否有整除关系,根据判断结果分别返回True和False。

 #!/usr/bin/python

 def even():
for i in range(0,21):
if i % 2 == 0:
print i, def odd():
for i in range(0,21):
if i % 2 <> 0:
print i, def div(m, n):
if m % n == 0:
print "TRUE"
else:
print "FALSE" if __name__ == "__main__":
print "Print the even:"
even()
print
print "Print the odd:"
odd()
print
m = float(raw_input("Enter a num:"))
n = float(raw_input("Enter an anoher num:"))
div(m, n)

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

 #!/usr/bin/python

 def convert(a, b):
min = 60*int(a) + int(b)
print "min = %d"%min if __name__ == '__main__':
hour = raw_input("Enter the time:")
try:
(h, m) = hour.split(":")
convert(h, m)
except ValueError, e:
print "Input a invaild num !"

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

 #!/usr/bin/python

 def common_divisor(a, b):
for i in range(1, min(a, b) + 1):
if a % i == 0 and b % i ==0:
m = i
print "The common divisor is %d" %m def common_mutiple(i, j):
maxnum = max(i, j)
while True:
if maxnum % i == 0 and maxnum % j ==0:
print "The common mutiple is %d" %maxnum
break
else:
maxnum = maxnum + 1 if __name__ == '__main__':
try:
num1 = int(raw_input("Enter num1:"))
num2 = int(raw_input("Enter num2:"))
common_divisor(num1, num2)
common_mutiple(num1, num2)
except ValueError, e:
print "Input a invalid num !"

5-17 随机数。熟读随机数模块然后解下面的题:
生成一个有 N 个元素的由随机数 n 组成的列表, 其中 N 和 n 的取值范围分别为: (1 <
N <= 100), (0 <= n <= 231 -1)。然后再随机从这个列表中取 N (1 <= N <= 100)个随机数
出来, 对它们排序,然后显示这个子集。

#!/usr/bin/python

import random

N = random.randint(2, 100)
randlist = random.sample(xrange(0, 2**31 - 1), N)
randlist.sort()
print randlist

《Python核心编程》第二版第五章答案的更多相关文章

  1. Python核心编程(第二版)PDF

    Python核心编程(第二版) 目录 第1部分 Python核心第1章 欢迎来到Python世界1.1 什么是Python1.2 起源1.3 特点1.3.1 高级1.3.2 面向对象1.3.3 可升级 ...

  2. 拒绝从入门到放弃_《Python 核心编程 (第二版)》必读目录

    目录 目录 关于这本书 必看知识点 最后 关于这本书 <Python 核心编程 (第二版)>是一本 Python 编程的入门书,分为 Python 核心(其实并不核心,应该叫基础) 和 高 ...

  3. python核心编程第二版笔记

    python核心编程第二版笔记由网友提供:open168 python核心编程--笔记(很详细,建议收藏) 解释器options:1.1 –d   提供调试输出1.2 –O   生成优化的字节码(生成 ...

  4. Python核心编程第二版(中文).pdf 目录整理

    python核心编程目录 Chapter1:欢迎来到python世界!-页码:7 1.1什么是python 1.2起源  :罗萨姆1989底创建python 1.3特点 1.3.1高级 1.3.2面向 ...

  5. 《python核心编程第二版》第8章习题

    8–1. 条件语句. 请看下边的代码 # statement Aif x > 0:# statement Bpasselif x < 0:# statement Cpasselse:# s ...

  6. 《python核心编程第二版》第1章练习

    1–1. 安装 Python.请检查 Python 是否已经安装到你的系统上,如果没有,请下载并 安装它 略 1–2.  执行 Python.有多少种运行 Python 的不同方法?你喜欢哪一种?为什 ...

  7. python 核心编程第二版 课后习题 第11章

    11-3 函数.在这个练习中,我们将实现 max()和 min()内建函数. (a) 写分别带两个元素返回一个较大和较小元素,简单的 max2()核 min2()函数.他们应该可以用任意的 pytho ...

  8. 《python核心编程第二版》第7章习题

    7–1. 字典方法.哪个字典方法可以用来把两个字典合并到一起? 答:dict1.update(dict2) 7–2. 字典的键.我们知道字典的值可以是任意的Python 对象,那字典的键又如何呢?请试 ...

  9. 《python核心编程第二版》第5章习题

    5-1 整形 讲讲 Python 普通整型和长整型的区别 答:普通整型 32位,长整数类型能表达的 数值仅仅与你的机器支持的(虚拟)内存大小有关 5-2 运算符(a) 写一个函数,计算并返回两个数的乘 ...

随机推荐

  1. Csv读写类

    <?php /** * CSV 文件读写类 * * 示例: $header = array('name' => '名字', 'age' =>'年龄', 'idcard' => ...

  2. WDCP上传SSL证书

    1.在线申请SSL证书 2.网站管理>SSL证书上传 3.将key文件直接上传,cert文件内容复制到crt文件中,再上传 4.开启https 注意:同一个域名下解析的若干域名,只能走主域名的证 ...

  3. react组件直接在document上添加事件

    demo:比如组件里有个div写的框框,点击document body的背景色变红,点击div写的框框没效果 componentDidMount(){ document.onclick = this. ...

  4. 《深入浅出WPF》读书笔记

    依赖属性: 节省实例对内存的开销: 属性值可以通过Binding依赖到其他对象上. WPF中,依赖对象的概念被DependencyObject类实现,依赖属性被DependencyProperty类实 ...

  5. 程序控制结构及for循环、foreach循环、迭代器

    结构化程序设计 三种基本控制结构:顺序结构.选择结构.循环结构. 在这种思想的指导下,发展出了面向过程编程方式.面向过程编程的核心是算法+数据结构.算法可以用顺序.选择.循环这三种基本控制结构来实现. ...

  6. angularjs初识ng-app、ng-model、ng-repeat指令

    ng-app属性是angular.js的标志语句,它标记了angular.js的作用域.ng-app可以添加在很多地方,像上面那样添加到html标签上,说明angular脚本对整个页面都起作用.也可以 ...

  7. top,job,user,file,alias

    1.系统进程 2.系统资源管理 3.作业管理 4.用户管理 5.文件权限 6.别名定义       一.系统进程 1.进程的定义 进程是操作系统的概念,每当我们执行一个程序时,对于操作系统来讲就创建了 ...

  8. 使用Axure设计中,大型的后台系统原型总结

    使用Axure设计中,大型的后台系统原型总结 2018年4月16日luodonggan 在产品原型设计中,经常会涉及到后台系统原型的设计,如何设计出更规范标准的后台系统原型,是很多产品同行们都会遇到的 ...

  9. font-family:中文字体的英文名称 (宋体 微软雅黑)

    宋体 SimSun 黑体 SimHei 微软雅黑 Microsoft YaHei 微软正黑体 Microsoft JhengHei 新宋体 NSimSun 新细明体 PMingLiU 细明体 Ming ...

  10. RHEL7系统管理之网络管理

    1. RHEL7的网络介绍 在RHEL7中, NetworkManager 提供的默认联网服务是一个动态网络控制和配置守护进程, 支持ifcfg类型的配置文件. NetworkManager 可用于连 ...