随笔分类 -  Python核心编程

上一页 1 2 3 下一页
自己做的练习答案等
《Python核心编程》第二版第209页第八章练习 续二 -Python核心编程答案-自己做的-
摘要:本博客列出的答案不是来自官方资源,是我自己做的练习,可能有误。8-9.斐波那契数列。斐波那契数列形如1,1,2,3,5,8,13,21等等。也就是说,下一个值是序列中前两个值之和。写一个函数,给定N,返回第N个斐波那契数数字。例如,第1个斐波那契数字是1,第6个是8。【答案】代码如下:def Fibonacci(number): fs = [0, 1] i = 1 for i in range(number - 1): a = fs[-1] + fs[-2] fs.append(a) i += 1 print fs[1:] ... 阅读全文
posted @ 2012-01-12 08:12 balian 阅读(526) 评论(0) 推荐(0)
《Python核心编程》第二版第209页第八章练习 续一 -Python核心编程答案-自己做的-
摘要:8-6.素因子分解。以刚才练习中的isprime()和getfactors()函数为基础编写一个函数,它接受一个整型作为参数,返回该整型所有素数因子的列表。这个过程叫做求素因子分解,它输出的所有因子之积应该是原来的数字。注意列表里可能有重复的元素。例如输入20,返回的结果应该是[2,2,5]。【答案】代码如下:def isprime(number): switch = True if number <= 1: switch = False for i in range(2, number / 2 + 1): if number % i == 0: switch... 阅读全文
posted @ 2012-01-11 07:24 balian 阅读(2257) 评论(0) 推荐(0)
《Python核心编程》第二版第209页第八章练习 -Python核心编程答案-自己做的-
摘要:8-1.条件语句。请看下面的代码:# statement Aif x > 0: # statement B passelif x < 0: # statement C passelse: # statement D pass# statement E(a)如果x<0,上面哪个语句(A,B,C,D,E)将被执行?(b)如果x=0,上面哪个语句将被执行?(c)如果x>0,上面哪个语句将被执行?【答案】(a)ACE(b)ADE(c)ABE可以实验一下这个代码,代码如下:x = int(raw_input('Please input X ... '))print 阅读全文
posted @ 2012-01-10 07:08 balian 阅读(703) 评论(0) 推荐(0)
《Python核心编程》第二版第186页第七章练习 续一
摘要:7-3.字典和列表的方法。(a)创建一个字典,并把这个字典中的键按照字母顺序显示出来。(b)现在根据已经按照字母顺序排列好的键,显示出这个字典中的键和值。(c)同(b),但这次是根据已按照字母顺序排序好的字典的值,显示出这个字典中的键和值(注意:对字典和哈希表来说,这样做一般没什么实际意义,因为大多数访问和排序(如果需要)都是基于字典的键,这里只把它作为一个练习)。【答案】(a)代码如下:>>> my_dict = {'a': 4, 'b': 3, 'c': 2, 'd': 1}>>> my_d 阅读全文
posted @ 2011-06-11 10:38 balian 阅读(1001) 评论(7) 推荐(0)
《Python核心编程》第二版第186页第七章练习
摘要:7-1.字典方法。哪个字典方法可以用来把两个字典合并到一起。【答案】dict.update(dict2)将字典dict2的键-值对添加到字典dict7-2.字典的键。我们知道字典的值可以是任意的Python对象,那字典的键又如何呢?请试着将除数字和字符串意外的其他不同类型的对象作为字典的键,看看哪些类型可以,哪些不行。对那些不能作为字典的键的对象类型,你认为是什么原因呢?【答案】Python对象:可哈希对象(不变类型)---数字,字符串和元组(但要加以限制)不可哈希对象(可变类型)--列表,字典,集合需要注意的是:值相等的数字代表同一个键,元组作为键时,其元素必须是可哈希的。内建函数hash( 阅读全文
posted @ 2011-06-10 10:39 balian 阅读(1985) 评论(0) 推荐(0)
《Python核心编程》第二版第162页第六章练习 续七
摘要:6-16.矩阵。处理矩阵M和N的加和乘操作。【答案】(a)M和N的加操作代码如下:def matrix_input(string, m, n): matrix = [] a = string.split(',') for i in range(m * n): matrix.append(a[i]) return matrix def matrix_display(matrix, m, n): for i in range(m): for j in range(n): print matrix[i * n + j], print '\r'M_row = int(r 阅读全文
posted @ 2011-06-04 06:46 balian 阅读(790) 评论(2) 推荐(0)
《Python核心编程》第二版第162页第六章练习 续六 -Python核心编程答案-自己做的-
摘要:6-14.随机数。设计一个“石头、剪子、布”游戏,有时又叫“Rochambeau”,你小时候可能玩过,下面是规则。你和你的对手,在同一时间做出特定的手势,必须是下面一种:石头、剪子、布。胜利者从下面的规则产生,这个规则本身是个悖论。(a)布包石头。(b)石头砸剪子。(c)剪子剪破布。在你的计算机版本中,用户输入他/她的选项,计算机找一个随机选项,然后由你的程序来决定一个胜利者或者平手。注意,最好的算法是尽量少使用if语句。【答案】代码如下:def showmenu(): print ''' (S)tone S(h)ears (C)loth (Q)uit ' 阅读全文
posted @ 2011-06-03 07:22 balian 阅读(972) 评论(0) 推荐(0)
《Python核心编程》第二版第160页第六章练习 续五 -Python核心编程答案-自己做的-
摘要:(b)代码如下,另外一种做法,逆序查找:def rfindchr(string, char): a = string index = -1 k = len(a) for i in a[::-1]: k = k - 1 if i == char: index = k print index break if index == -1: print 'index = ', index a = raw_input('Please input a string ... ')b = raw_input('Please input a character to be 阅读全文
posted @ 2011-05-31 12:25 balian 阅读(762) 评论(1) 推荐(0)
《Python核心编程》第二版第160页第六章练习 续四 -Python核心编程答案-自己做的-
摘要:6-11.转换。(a)创建一个从整型到IP地址的转换,如下格式:www.xxx.yyy.zzz。(b)更新你的程序,使之可以逆转换。【答案】(a)代码如下:Input_number = abs(int(raw_input('Please input a number ...')))x3 = x2 = x1 = x0 = 0x3 = Input_number / (256 ** 3)if x3 > 255: tmp = x3 x3 = 255else: tmp = x3x2 = (Input_number - 256 ** 3 * tmp) / (256 ** 2)x1 = 阅读全文
posted @ 2011-05-30 19:34 balian 阅读(881) 评论(2) 推荐(0)
《Python核心编程》第二版第160页第六章练习 续三 -Python核心编程答案-自己做的-
摘要:6-7.调试。看一下在例6.5中给出的代码(buggy.py)(a)研究这段代码并描述这段代码想做什么。在所有的(#)处填写你的注释。(b)这个程序有一个很大的问题,比如输入6、12、20、30等它会死掉,实际上它不能处理任何的偶数,找出原因。(c)修正(b)中提出的问题。例6.5 有bug的程序(buggy.py)这是一个用于练习6-7的程序,判断这个程序是干什么的,在“#”处添加你的注释,找出其中的错误,并修改之。num_str = raw_input('Enter a number: ')num_num = int(num_str)fac_list = range(1, 阅读全文
posted @ 2011-03-10 12:02 balian 阅读(1156) 评论(1) 推荐(0)
《Python核心编程》第二版第160页第六章练习 续二 -Python核心编程答案-自己做的-
摘要:6-5.字符串。(a)更新你在练习2-7里面的方案,使之可以每次向前向后都显示一个字符串的一个字符。(b)通过扫描来判断两个字符串是否匹配(不能使用比较操作符或者cmp()内建函数)。附加题:在你的方案里加入大小写区分。(c)判断一个字符串是否重现(后面跟前面一致)。附加题:在处理除了严格的回文之外,加入对例如控制符号和空格的支持。(d)接受一个字符串,在其后面加一个反向的拷贝,构成一个回文字符串。【参考】2-7.循环和字串。从用户那里接受一个字符串输入,然后逐字符显示该字符串。先用while循环实现,然后再用for循环实现。【2-7的答案】代码如下:a = raw_input("P 阅读全文
posted @ 2011-02-15 09:07 balian 阅读(1625) 评论(9) 推荐(1)
《Python核心编程》第二版第160页第六章练习 续一 -Python核心编程答案-自己做的-
摘要:6-4.算术。更新上一章里面你的得分测试联系方案,把测试得分放到一个列表中去。你的代码应该可以计算出一个平均分,见练习2-9和5-3。【参考】练习2-9.循环和操作符。创建一个包含五个固定数值的列表或元组,输出他们的平均值。本练习的难点之一是通过除法得到平均值。你会发现整型除会截去小数,因此你必须使用浮点除以得到更精确的结果。float()内建函数可以帮助你实现这一功能。【参考】练习5-3.标准类型操作符。写一段脚本,输入一个测验成绩,根据下面的标准,输出他的评分成绩(A-F)。A:90~100 B:80~89 C:70~79 D:60~69 F:<60【答案】代码如下:scoreLis 阅读全文
posted @ 2011-02-06 05:28 balian 阅读(943) 评论(0) 推荐(0)
《Python核心编程》第二版第160页第六章练习
摘要:和大家分享自己完成的《Python核心编程》习题答案。因为不是来自官方资源,是自己的的练习,可能有误或者并非最好的解决办法。【推荐】推荐博文:牛B的Python模块http://www.cnblogs.com/chu888chu888/archive/2011/01/09/1931084.html【推荐】推荐博文:Python核心编程练习第六章,别人做的练习http://blog.csdn.net/killua_hzl/archive/2010/05/31/5637828.aspx【推荐】推荐博文:全排列算法之字典序法http://blog.sina.com.cn/s/blog_4c471b9 阅读全文
posted @ 2011-02-04 09:02 balian 阅读(1614) 评论(0) 推荐(0)
《Python核心编程》第二版第97页第五章练习 续五
摘要:和大家分享自己完成的《Python核心编程》答案。因为不是来自官方资源,是自己的的练习,可能有误或者并非最好的解决办法。5-16.家庭财务。给定一个初始金额和月开销数,使用循环,确定剩下的金额和当月的支出数,包括最后的支出数。Payment()函数会用到初始金额和月额度,输出结果应该类似下面的格式(例子中的数字仅用于演示)。Enter opening balance: 100.00Enter monthly payment: 16.13 Amount RemainingPymt# Paid Balance----- ---- -------0$ 0.00 $100.001$16.13 $ 83 阅读全文
posted @ 2011-02-03 08:29 balian 阅读(830) 评论(0) 推荐(0)
《Python核心编程》第二版第97页第五章练习 续四
摘要:和大家分享自己完成的《Python核心编程》答案。因为不是来自官方资源,是自己的的练习,可能有误或者并非最好的解决办法。5-13.转换。写一个函数把小时和分钟所表示的时间转换成为只用分钟表示的时间。【答案】代码如下:def conversion(a, b): return a * 60 + btime = raw_input('Please input the time in HH:MM format: ... ')t = time.split(':')print conversion(int(t[0]), int(t[1]))5-14.银行利息。写一个函数,以 阅读全文
posted @ 2011-02-02 01:28 balian 阅读(904) 评论(0) 推荐(0)
《Python核心编程》第二版第97页第五章练习 续三
摘要:和大家分享自己完成的《Python核心编程》答案。因为不是来自官方资源,是自己的的练习,可能有误或者并非最好的解决办法。5-10.转换。写一对函数来进行华氏度到摄氏度的转换。转换公式为C = (F - 32) * (5 / 9)应该在这个练习中使用真正的除法,否者你会得到不正确的结果。【答案】代码如下:>>> def a(b):... print (b - 32.) * (5. / 9.)...>>> a(475)246.111111111>>> a(200)93.33333333335-11.取余。(a)使用循环和算术运算,求出0~20之 阅读全文
posted @ 2011-02-01 08:10 balian 阅读(976) 评论(0) 推荐(0)
《Python核心编程》第二版第97页第五章练习 续二
摘要:《Python核心编程》第二版第97页第五章练习和大家分享自己完成的《Python核心编程》答案。因为不是来自官方资源,是自己的的练习,可能有误或者并非最好的解决办法。【推荐】晒一晒一个程序员《读过的好书》http://debug-sai.blogbus.com/logs/42178629.html5-8.几何。计算面积和体积。(a)正方形和立方体(b)圆和球【答案】代码如下:a = float(raw_input('Please input a numner: ... '))print 'If this is a side length of a square ... 阅读全文
posted @ 2011-01-28 12:49 balian 阅读(1170) 评论(0) 推荐(0)
《Python核心编程》第二版第97页第五章练习 续一 -Python核心编程答案-自己做的-
摘要:这里列出的答案不是来自官方资源,是我自己做的练习,可能有误。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美分这样的结果都是不符合要求的。【答案】代码如下:def verify(a): b = '0123456789' if len(a) == 2 and a[0] in b and a[1] in b: return True else: return F 阅读全文
posted @ 2011-01-27 12:04 balian 阅读(1639) 评论(10) 推荐(0)
《Python核心编程》第二版第97页第五章练习 -Python核心编程答案-自己做的-
摘要:这里列出的答案不是来自官方资源,是我自己做的练习,可能有误。本章的练习可以先通过应用程序的形式实现。一旦功能齐备并且调试通过,建议读者将自己的代码功能用函数封装起来,以便在后面的练习中重用代码。关于编程风格在这儿提醒一下,最好不要在函数内使用print语句输出信息,而是通过return语句返回必要的值。文章来自博客园。这样调用函数的代码就可以自己处理显示方式。这样你的代码就适应性更广,更便于重用。【推荐】很喜欢下面这个博客的文章,故推荐之。http://www.cnblogs.com/lua5/5-1.整型。讲讲Python普通整型和长整型的区别。【答案】Python的标准整数类型是最通用的数 阅读全文
posted @ 2011-01-24 01:07 balian 阅读(1306) 评论(1) 推荐(0)
《Python核心编程》第二版第75页第四章练习
摘要:4-1.Python对象。与所有Python对象有关的三个属性是什么?请简单的描述一下。【答案】所有的Python对象都拥有三个特性:身份,类型和值。身份:每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到。这个值可以被认为是该对象的内存地址。类型:对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则。可以使用内建函数type()查看对象的类型。在Python中类型也是对象。值:对象表示的数据项。4-2.类型。不可更改(immutable)指的是什么?Python的哪些类型是可更改(mutable)的,哪些不是?【答案】这部分答 阅读全文
posted @ 2011-01-22 12:23 balian 阅读(1319) 评论(0) 推荐(0)

上一页 1 2 3 下一页