本人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. THUSC2017 游记

    你若安好,便是晴天. Day 0 中午就要出发了,上午浮躁的不行,根本写不下题去. 到了火车站之后发现教练和lyc和ztc在4车靠近5车的那一边,然而我在5车靠近4车的那边,尴尬…… 本来是想着上了火 ...

  2. BZOJ1856: [Scoi2010]字符串(组合数)

    题意 题目链接 Sol \(30 \%\)dp: \(f[i][j]\)表示放了\(i\)个\(1\)和\(j\)个\(0\)的不合法方案 f[0][0] = 1; cin >> N &g ...

  3. 3D旋转效果

    <!doctype html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  4. Jquery实现可拖动进度条demo

    html <div class="progress"> <div class="progress_bg"> <div class= ...

  5. OnCreateContextMenuListener接口简介

    OnCreateContextMenuListener接口是用来处理上下文菜单显示事件的监听接口.该方法是定义和注册上下文菜单的另一种方式.该接口中事件处理的回调方法签名如下所示. public vo ...

  6. 线程间的通信方式2--管道流Pipes

    “管道”是java.io包的一部分.它是Java的特性,而不是Android特有的.一条“管道”为两个线程建立一个单向的通道.生产者负责写数据,消费者负责读取数据. 下面是一个使用管道流进行通信的例子 ...

  7. 结对编程的感想&收获

    关于结对编程的感想.感受,见我的另一篇随笔——<构建之法>结对编程   感想 下面我来谈谈本次结对编程的收获以及发现的问题 收获 ①这是我人生中第一次做UI界面设计,刚拿到这个题目还是比较 ...

  8. leetCode题解之判断一个句子中的字符和数字是否构成回文

    1.问题描述 Given a string, determine if it is a palindrome, considering only alphanumeric characters and ...

  9. Django之环境搭建

    安装django pip install django 安装完django之后就有了可用的管理工具django-admin.py,我们可以用它来创建我们的项目. django-admin的语法: dj ...

  10. Linxu系统修改文件描述符

    修改系统文件描述符 文件描述符:无符号整数(0-65535),进程使用它来标示打开的文件    /etc/security/limits.conf:可以修改CPU,堆栈,   1.查看最大的标示符 u ...