随笔 - 78  文章 - 0 评论 - 70 trackbacks - 0

随笔分类 - Python核心编程
自己做的练习答案等
《Python核心编程》第二版第437页第十四章练习 续二 -Python核心编程答案-自己做的-
摘要: 这是自己做的练习,可能有错误,欢迎讨论和各种优化重构方案。 根据反馈,或者code review,对本篇文章答案或者相关内容的更新补充,一般会被添加在本篇博客的评论中。 将尽量保证每题的答案代码是完整的,不仅仅是函数,类或者只是个大概,力求打开Python 2.7的IDLE,将代码完整拷贝进去,就能调试运行。 欢迎访问Balian在博客园的家。 http://www.cnblogs.com/balian【这篇博文可能让人失望,对不起】14-9. Shells。创建shell(操作系统接口)程序。给出接受操作系统命令的命令行接口(任意平台)。 附加题1:支持管道(见...阅读全文
posted @ 2013-04-10 10:12 balian 阅读(633) | 评论 (2) 编辑
《Python核心编程》第二版第437页第十四章练习 续一 -Python核心编程答案-自己做的-
摘要: 这是自己做的练习,可能有错误,欢迎讨论和各种优化重构方案。 根据反馈,或者code review,对本篇文章答案或者相关内容的更新补充,一般会被添加在本篇博客的评论中。 将尽量保证每题的答案代码是完整的,不仅仅是函数,类或者只是个大概,力求打开Python 2.7的IDLE,将代码完整拷贝进去,就能调试运行。 欢迎访问Balian在博客园的家。 http://www.cnblogs.com/balian 14-5. commands.getoutput()。用commands.getoutput()解决前面的问题。 【答案】 commands.get...阅读全文
posted @ 2013-03-12 11:52 balian 阅读(390) | 评论 (0) 编辑
《Python核心编程》第二版第437页第十四章练习 -Python核心编程答案-自己做的-
摘要: 这是自己做的练习,可能有错误,欢迎讨论和各种优化重构方案。 根据反馈,或者code review,对本篇文章答案或者相关内容的更新补充,一般会被添加在本篇博客的评论中。 将尽量保证每题的答案代码是完整的,不仅仅是函数或者类,打开Python 2.7的IDLE,将代码完整拷贝进去,就能调试运行。 欢迎访问Balian在博客园的家。 http://www.cnblogs.com/bal...阅读全文
posted @ 2013-03-04 11:52 balian 阅读(627) | 评论 (0) 编辑
《Python核心编程》第二版第407页第十三章练习 续六 -Python核心编程答案-自己做的-
摘要: 这是自己做的练习,可能有错误,欢迎讨论和各种优化重构方案。 根据反馈,或者code review,对本篇文章答案或者相关内容的更新补充,一般会被添加在本篇博客的评论中。 将尽量保证每题的答案代码是完整的,不仅仅是函数或者类,打开Python 2.7的IDLE,将代码完整拷贝进去,就能调试运行。 欢迎访问Balian在博客园的家。 http://www.cnblogs.com/bal...阅读全文
posted @ 2012-09-21 11:12 balian 阅读(793) | 评论 (0) 编辑
《Python核心编程》第二版第407页第十三章练习 续五 -Python核心编程答案-自己做的-
摘要: 这是自己做的练习,可能有错误,欢迎讨论和各种优化重构方案。 根据反馈,或者code review,对本篇文章答案或者相关内容的更新补充,一般会被添加在本篇博客的评论中。 将尽量保证每题的答案代码是完整的,不仅仅是函数或者类,打开Python 2.7的IDLE,将代码完整拷贝进去,就能调试运行。 欢迎访问Balian在博客园的家。 http://www.cnblogs.com/...阅读全文
posted @ 2012-09-18 10:28 balian 阅读(1105) | 评论 (0) 编辑
《Python核心编程》第二版第407页第十三章练习 续四 -Python核心编程答案-自己做的-
摘要: 这是自己做的练习,可能有错误,欢迎讨论和各种优化重构方案。 根据反馈,或者code review,对本篇文章答案或者相关内容的更新补充,一般会被添加在本篇博客的评论中。 尽量保证每题的答案代码是完整的,不仅仅是函数或者类,打开Python 2.7的IDLE,将代码完整拷贝进去,就能调试运行。 13-7. 数据类。提供一个time模块的接口,允许用户按照自己给定时间的格...阅读全文
posted @ 2012-09-16 11:13 balian 阅读(758) | 评论 (0) 编辑
《Python核心编程》第二版第405页第十三章练习 续三 -Python核心编程答案-自己做的-
摘要: 这是自己做的练习,可能有错误,欢迎讨论和各种优化重构方案。 根据反馈,或者code review,对本篇文章答案或者相关内容的更新补充,一般会被添加在本篇博客的评论中。 尽量保证每题的答案代码是完整的,不仅仅是函数或者类,打开Python 2.7的IDLE,将代码完整拷贝进去,就能调试运行。 欢迎访问Balian在博客园的家。 http://www.cnblogs.com/balian13-5. 几何。建立一个由有序数值对(x,y)组成的Point类,它代表某个点的X坐标和Y坐标。X坐标和Y坐标在实例时被传递给构造器,如果没有给出他们的值,则默认为坐标的原点。【答案】 代码...阅读全文
posted @ 2012-09-14 10:07 balian 阅读(1073) | 评论 (2) 编辑
《Python核心编程》第二版第405页第十三章练习 续二 -Python核心编程答案-自己做的-
摘要: 这是自己做的练习,可能有错误,欢迎讨论和各种优化重构方案。 根据读者反馈,或者code review,我对本篇文章答案或者相关内容的更新补充,一般会被添加在本篇博客的评论中。 我尽量保证每题的答案代码是完整的,不仅仅是函数或者类,打开Python 2.7的IDLE,将代码完整拷贝进去,就能调试运行。 欢迎访问Balian在博客园的家http://www.cnblogs.com/balian13-4. 用户注册。建立一个用户数据库(包括登录名、密码和上次登录时间戳)类(参考练习7-5和练习9-12),来管理一个系统。该系统要求用户在登录后才能访问某些资源。这个数据库类对用户...阅读全文
posted @ 2012-09-13 07:28 balian 阅读(837) | 评论 (0) 编辑
《Python核心编程》第二版第405页第十三章练习 续一 -Python核心编程答案-自己做的-
摘要: 这是自己做的练习,可能有错误,欢迎讨论和各种优化重构方案。13-3. 对类进行定制。写一个类,用来将浮点型值转换为金额。在本练习里,我们使用美国货币,但读者也可以自选任意货币。 基本任务(α):编写一个dollarize()函数,它以一个浮点型值作为输入,返回一个字符串形式的金额数。比如说: dollarize(1234567.8901) => '$1,234,567.89' dollarize()返回的金额数里应该允许有逗号(比如1,000,000)和美元的货币符号。如果有负号,它必须出现在美元符号的左边。完成这项工作后,你就可以把它转换成一个有用的类,名为Money.阅读全文
posted @ 2012-09-05 10:35 balian 阅读(968) | 评论 (1) 编辑
《Python核心编程》第二版第405页第十三章练习 -Python核心编程答案-自己做的-
摘要: 这是自己做的练习,可能有错误,欢迎讨论和各种优化重构方案。13-1. 程序设计。请列举一些面向对象编程与传统旧的程序设计形式相比的先进之处。 【答案】 面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。OOP的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。 【注】 答案摘抄自百度百科。13-2. 函数和方法的比较。函数和方法之间的区别是什么? ...阅读全文
posted @ 2012-08-31 10:17 balian 阅读(699) | 评论 (1) 编辑
《Python核心编程》第二版第326页第十二章练习 续一 -Python核心编程答案-自己做的-
摘要: 这是自己做的练习,可能有错误,欢迎讨论和各种优化重构方案。12-4. 名称空间和变量作用域。名称空间和变量作用域有什么不同。 【答案】 名称空间(Namespaces)是名称(标识符)到对象的映射。名称空间分为局部名称空间(Local Namespaces),全局名称空间(Global Namespaces)和内建名称空间(Build-in Namespaces)。 Build-in Namespaces首先被Python解释器加载成为Active Namespaces,由__buildins__模块中的名字构成。 Global Namespaces随后加载为A...阅读全文
posted @ 2012-08-12 00:12 balian 阅读(738) | 评论 (4) 编辑
《Python核心编程》第二版第326页第十二章练习 -Python核心编程答案-自己做的-
摘要: 这是自己做的练习,可能有错误,欢迎讨论和各种优化重构方案。12-1. 路径搜索和搜索路径。路径搜索和搜索路径之间有什么不同。 【答案】 路径搜索(Search Path)搜索路径(Path Search),前者指查找某个文件的操作(the pursuit of a file),后者是去查找一组目录(through a set of directories)。本文来自博客园balian 默认搜索路径是编译或者安装时指定。查看当前搜索路径参看下例。可以用列表的append()方法添加搜索路径。>>> import sys>>> sys.path['阅读全文
posted @ 2012-08-11 08:48 balian 阅读(516) | 评论 (2) 编辑
《Python核心编程》第二版第308页第十一章练习 续五 -Python核心编程答案-自己做的-
摘要: 本博客列出的答案不是来自官方资源,是我自己做的练习,如果有疑问或者错误,欢迎讨论。11-18. 同步化函数调用。复习一下第6章中当引入浅拷贝和深拷贝的时候,提到的丈夫和妻子情形(6.20小结)。他们共用了一个普通账户,同时对他们银行账户访问时会发生不利影响。创建一个程序,让调用改变账户收支的函数必须同步。 【未完】 目前感觉本题有难度,暂时押后。11-19. Variable Scope. Earlier in the chapter (see Example 11.9 on p. 466), we left determining the output of scope.py...阅读全文
posted @ 2012-08-09 19:51 balian 阅读(488) | 评论 (0) 编辑
《Python核心编程》第二版第308页第十一章练习 续四 -Python核心编程答案-自己做的-
摘要: 本博客列出的答案不是来自官方资源,是我自己做的练习,如果有疑问或者错误,欢迎讨论。11-16. 更新easyMath.py。这个脚本,如例子11.1描绘的那样,以入门程序来帮助年轻人强化他们的数学技能。通过加入乘法作为可支持的操作来更进一步提升这个程序。额外的加分:也加入除法;这比较难做因为你要找到有效的整形除数,幸运的是,已经有代码来确定分子比分母大,所以不需要支持分数。 【答案】 添加了乘法后,代码如下:#-*- encoding: utf-8 -*-# easyMath.pyfrom operator import add, sub, mulfrom random imp...阅读全文
posted @ 2012-08-07 08:17 balian 阅读(525) | 评论 (1) 编辑
《Python核心编程》第二版第308页第十一章练习 续三 -Python核心编程答案-自己做的-
摘要: 11-14. 递归。我们也来看下在第8章中的斐波纳契数列。重写你先前计算斐波纳契数列的解(练习8-9)以便你可以使用递归。 【答案】本文来自博客园balian 代码如下:#-*- encoding: utf-8 -*-def fibonacci(n): "该函数能生成数列的第n个值" returnn >= 2 and fibonacci(n - 2) + fibonacci(n - 1) or n# From www.cnblogs.com/balian/fiboseq=[]number = 10for i in range(number): fiboseq....阅读全文
posted @ 2012-08-06 06:17 balian 阅读(652) | 评论 (1) 编辑
《Python核心编程》第二版第308页第十一章练习 续二 -Python核心编程答案-自己做的-
摘要: 本博客列出的答案不是来自官方资源,是我自己做的练习,如果有疑问或者错误,欢迎讨论。11-12. 传递函数。给在这章中描述的testit()函数写一个姊妹函数。timeit()会带一个函数对象(和参数一起)并计算出用了多少时间来执行这个函数,而不是测试执行时的错误。返回下面的状态:函数返回值、消耗的时间。本文来自博客园。你可以用time.clock()或者time.time(),无论哪一个给你提了较高的精度(一般的共识是在POSIX上用time.time(),在win32系统上用time.clock())。注意:timeit()函数与模块timeit不相关(在python2.3中引入)。 ...阅读全文
posted @ 2012-08-05 03:32 balian 阅读(924) | 评论 (0) 编辑
《Python核心编程》第二版第308页第十一章练习 续一 -Python核心编程答案-自己做的-
摘要: 本博客列出的答案不是来自官方资源,是我自己做的练习,如果有疑问或者错误,欢迎讨论。 原书(英文版)作者的blog :) http://wescpy.blogspot.ca/11-7. 用map()进行函数式编程。给定一对同一大小的列表,如[1, 2, 3, ...]和['abc', 'def', 'ghi', ...],将两个列表归并为一个由每个列表元素组成的元组的单一列表,以使我们的结果看起来像这样:{[(1, 'abc'), (2, 'def'), (3, 'ghi'), ...}。(虽然这问题阅读全文
posted @ 2012-08-03 05:41 balian 阅读(834) | 评论 (1) 编辑
《Python核心编程》第二版第308页第十一章练习
摘要: 本博客列出的答案不是来自官方资源,是我自己做的练习,如果有疑问或者错误,欢迎讨论。11-1. 参数。比较下面3个函数: def countToFour1(): for eachNum in range(5): print eachNumdef countToFour2(n): for eachNum in range(n, 5): print eachNumdef countToFour3(n=1): for eachNum in range(n, 5): print eachNum给定如下的输入直到程序输出,你认为会发生什么?向...阅读全文
posted @ 2012-07-30 08:43 balian 阅读(1333) | 评论 (0) 编辑
《Python核心编程》第二版第230页第九章练习 -Python核心编程答案-自己做的-
摘要: 本博客列出的答案不是来自官方资源,是我自己做的练习,可能有误。9-1.文件过滤。显示一个文件的所有行,忽略以井号(#)开头的行。这个字符被用做Python,Perl,Tcl,等大多数脚本文件的注释符号。附加题:处理不是第一个字符开头的注释。【答案】(a)代码如下:fobj = open('c:\Python Test\P_1.txt')for eachLine in fobj: if eachLine[0] != '#': print eachLine,fobj.close()文件P_1.txt具体是:applebanana#orangeorange#orang阅读全文
posted @ 2012-01-19 08:58 balian 阅读(1465) | 评论 (0) 编辑
《Python核心编程》第二版第209页第八章练习 续三 -Python核心编程答案-自己做的-
摘要: 本博客列出的答案不是来自官方资源,是我自己做的练习,可能有误。8-11.文本处理。要求输入一个姓名列表,输入格式是“Last Name, First Name”即姓逗号名。编写程序处理输入,如果用户输入错误,比如“Last Name First Name,”,请纠正这些错误,并通知用户。同时你还需要记录输入错误次数。当用户输入结束后,给列表排序,然后以“姓,名”的顺序显示。输入输出示例(你不需要完全按照这里的例子完成):% nametrack.pyEnter total number of names: 5Please enter name 0: Smith, JoePlease enter 阅读全文
posted @ 2012-01-14 07:17 balian 阅读(520) | 评论 (0) 编辑
《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 阅读(400) | 评论 (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 阅读(1870) | 评论 (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 阅读(555) | 评论 (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 阅读(807) | 评论 (7) 编辑
《Python核心编程》第二版第186页第七章练习
摘要: 7-1.字典方法。哪个字典方法可以用来把两个字典合并到一起。【答案】dict.update(dict2)将字典dict2的键-值对添加到字典dict7-2.字典的键。我们知道字典的值可以是任意的Python对象,那字典的键又如何呢?请试着将除数字和字符串意外的其他不同类型的对象作为字典的键,看看哪些类型可以,哪些不行。对那些不能作为字典的键的对象类型,你认为是什么原因呢?【答案】Python对象:可哈希对象(不变类型)---数字,字符串和元组(但要加以限制)不可哈希对象(可变类型)--列表,字典,集合需要注意的是:值相等的数字代表同一个键,元组作为键时,其元素必须是可哈希的。内建函数hash(阅读全文
posted @ 2011-06-10 10:39 balian 阅读(1848) | 评论 (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 阅读(644) | 评论 (2) 编辑
《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 阅读(672) | 评论 (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 阅读(634) | 评论 (1) 编辑
《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 阅读(738) | 评论 (2) 编辑
《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 阅读(952) | 评论 (1) 编辑
《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 阅读(1292) | 评论 (9) 编辑
《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 阅读(765) | 评论 (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 阅读(1313) | 评论 (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 阅读(703) | 评论 (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 阅读(779) | 评论 (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 阅读(847) | 评论 (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 阅读(948) | 评论 (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 阅读(1384) | 评论 (10) 编辑
《Python核心编程》第二版第97页第五章练习 -Python核心编程答案-自己做的-
摘要: 这里列出的答案不是来自官方资源,是我自己做的练习,可能有误。本章的练习可以先通过应用程序的形式实现。一旦功能齐备并且调试通过,建议读者将自己的代码功能用函数封装起来,以便在后面的练习中重用代码。关于编程风格在这儿提醒一下,最好不要在函数内使用print语句输出信息,而是通过return语句返回必要的值。文章来自博客园。这样调用函数的代码就可以自己处理显示方式。这样你的代码就适应性更广,更便于重用。【推荐】很喜欢下面这个博客的文章,故推荐之。http://www.cnblogs.com/lua5/5-1.整型。讲讲Python普通整型和长整型的区别。【答案】Python的标准整数类型是最通用的数阅读全文
posted @ 2011-01-24 01:07 balian 阅读(1104) | 评论 (1) 编辑
《Python核心编程》第二版第75页第四章练习
摘要: 4-1.Python对象。与所有Python对象有关的三个属性是什么?请简单的描述一下。【答案】所有的Python对象都拥有三个特性:身份,类型和值。身份:每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到。这个值可以被认为是该对象的内存地址。类型:对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则。可以使用内建函数type()查看对象的类型。在Python中类型也是对象。值:对象表示的数据项。4-2.类型。不可更改(immutable)指的是什么?Python的哪些类型是可更改(mutable)的,哪些不是?【答案】这部分答阅读全文
posted @ 2011-01-22 12:23 balian 阅读(1034) | 评论 (0) 编辑
《Python核心编程》第二版第55页第三章练习 续二 -Python核心编程答案-自己做的-
摘要: 3-10.异常。使用类似readTextFile.py中异常处理的方法取代makeTextFile.py中对os.path.exists()的调用。反过来,用os.path.exists()取代readTextFile.py中的异常处理方法。【答案】代码如下:def makeTextFile(): import os ls = os.linesep # get filename while True: fname = raw_input('Enter file name: ') try: open(fname, 'r') print" *** ERRO阅读全文
posted @ 2011-01-21 10:19 balian 阅读(878) | 评论 (1) 编辑
《Python核心编程》第二版第55页第三章练习 续一 -Python核心编程答案-自己做的-
摘要: 下面的问题涉及了makeTextFile.py和readTextFile.py脚本。【注】网络上找到的makeTextFile.py和readTextFile.py源代码,和原书例子稍有区别。'makeTextFile.py -- create text file'import os# get filenamewhile True: fname = raw_input('Enter file name: ') if os.path.exists(fname): print"*** ERROR: '%s' already exists&q阅读全文
posted @ 2011-01-18 10:36 balian 阅读(723) | 评论 (0) 编辑
《Python核心编程》第二版第55页第三章练习 -Python核心编程答案-自己做的-
摘要: 3-1.标识符。为什么Python中不需要变量名和变量类型声明?【答案】这部分答案是网上找到的。Python语言中对象的类型和内存都是运行时确定的。在创建也就是赋值时,解释器会根据语法和右侧的操作数来决定新对象的类型。因为变量在第一次赋值的时候就被自动声明了。Python是无类型的语言。 Python既是动态类型语言(因为它不使用显示数据类型声明,在运行期间才去确定数据类型),又是强类型语言(因为只要一个变量获得了一个数据,它就一直就是这个数据的数据类型了)。3-2.标识符。为什么Python中不需要声明函数类型?【答案】这部分答案是网上找到的。函数没有定义返回的数据类型。 Python不需要阅读全文
posted @ 2011-01-17 01:49 balian 阅读(1643) | 评论 (2) 编辑
《Python核心编程》第二版第36页第二章练习 续三 -Python核心编程答案-自己做的-
摘要: 这里列出的答案不是来自官方资源,是我自己做的练习,可能有误。2-15.元素排序。(a)让用户输入三个数值并分别将它们报存到3个不同的变量中。不使用列表或排序算法,自己写代码来对三个数由小到大排序。(b)修改(a)的解决方案,使之从大到小排序。【答案】代码如下:SortList = [0, 1, 2]for i in range(0,3): print 'Please input the No.', i+1, 'number to be sort' SortList[i] = float(raw_input())print SortListif SortList[阅读全文
posted @ 2011-01-16 21:10 balian 阅读(669) | 评论 (0) 编辑
《Python核心编程》第二版第36页第二章练习 续二 -Python核心编程答案-自己做的-
摘要: 2-11.带文本菜单的程序。写一个带文本菜单的程序,菜单项如下:(1)取五个数的和;(2)取五个数的平均值...(X)退出。由用户做一个选择,然后执行相应的功能。当用户选择退出时程序结束。这个程序的有用之处在于用户在功能之间切换不需要一遍一遍地重新启动你的脚本(这对开发人员测试自己的程序也会大有用处)。【答案】代码如下:def to_total(): total = 0 a = [1, 2, 3, 4, 5] for i in range(0, 5): print 'Please input number', i+1 a[i] = float(raw_input()) tota阅读全文
posted @ 2011-01-12 20:45 balian 阅读(851) | 评论 (0) 编辑
《Python核心编程》第二版第36页第二章练习 续一 -Python核心编程答案-自己做的-
摘要: 2-6.条件判断。判断一个数是正数还是负数,或者是0。开始先用固定的数值,然后修改你的代码支持用户输入数值再进行判断。【答案】代码如下:a = float(raw_input("Please input a number ... "))if a == 0: print "The number you input is Zero"elif a > 0: print "The number you input is Positive"else: print "This is a negative number"2阅读全文
posted @ 2011-01-12 07:04 balian 阅读(1071) | 评论 (4) 编辑
《Python核心编程》第二版第36页第二章练习 -Python核心编程答案-自己做的-
摘要: 《Python核心编程》第二版第36页第二章练习这里列出的答案不是来自官方资源,是我自己做的练习,可能有误。2.21 练习2-1.变量,print和字符串格式化操作符。启动交互式解释器,给一些变量赋值(字符串,数值等)并通过输入变量名显示他们的值。再用print语句做同样的事。这两者有何区别?也尝试着使用字符串格式操作符%,多做几次,慢慢熟悉它。【答案】对于一个字符串,在仅使用变量名时,输出的字符串是用单引号括起来了的。这是为了让非字符串对象也能以字符串的方式显示在屏幕上,即它显示的是该对象的字符串表示,而不仅仅是字符串本身。如果使用print命令,能使输出更加友好。2-2. 程序输出。阅读下阅读全文
posted @ 2011-01-09 07:44 balian 阅读(1120) | 评论 (0) 编辑
《Python核心编程》第二版第18页第一章练习 -Python核心编程答案-自己做的-
摘要: 《Python核心编程》第二版第18页第一章练习这里列出的答案不是来自官方资源,是我自己做的练习,可能有误。1.9 练习1-1.安装Python。请检查Python是否已经安装到你的系统上,如果没有,请下载安装它。【答案】略。1-2.执行Python。有多少种运行Python的不同方法?你喜欢哪一种?为什么?【答案】命令行上的交互解释器:就是Python(command line)。另外,也可以从命令行启动脚本。集成开发环境:Python自己就带一个IDLE(Python GUI)。另外有很多,比如Eclipse+Pydev。1-3.Python标准库。(a)请找到系统中Python执行程序的阅读全文
posted @ 2011-01-08 12:45 balian 阅读(1519) | 评论 (0) 编辑
开始学习《Python核心编程》第二版
摘要: 我看的第一本Python的书是《Python核心编程》第二版,打算把每一章的习题都仔细做了,并记录在这里阅读全文
posted @ 2011-01-07 07:46 balian 阅读(561) | 评论 (0) 编辑