摘要: 本博客列出的答案不是来自官方资源,是我自己做的练习,如果有疑问或者错误,欢迎讨论。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 阅读(646) 评论(0) 推荐(0) 编辑
摘要: 本博客列出的答案不是来自官方资源,是我自己做的练习,如果有疑问或者错误,欢迎讨论。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 阅读(693) 评论(1) 推荐(0) 编辑
摘要: 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 阅读(833) 评论(1) 推荐(0) 编辑
摘要: 本博客列出的答案不是来自官方资源,是我自己做的练习,如果有疑问或者错误,欢迎讨论。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 阅读(1131) 评论(0) 推荐(0) 编辑
摘要: 本博客列出的答案不是来自官方资源,是我自己做的练习,如果有疑问或者错误,欢迎讨论。 原书(英文版)作者的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 阅读(1121) 评论(1) 推荐(0) 编辑
摘要: (a)Eclipse的Window菜单Editors设置: Eclipse工具条 -> Window -> Preferences -> General -> Editors -> Text Editiors -> Spelling (b)Eclipse的Window菜单Workspace设置: Eclipse工具条 -> Window -> Preferences -> General –> Workspace(c)Python源代码头需要加入一个额外的编码指示说明。书《Python核心编程》第二版324页说道,只要在你的Pytho 阅读全文
posted @ 2012-08-01 11:32 balian 阅读(1777) 评论(1) 推荐(0) 编辑
摘要: 本博客列出的答案不是来自官方资源,是我自己做的练习,如果有疑问或者错误,欢迎讨论。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 阅读(1694) 评论(0) 推荐(0) 编辑
摘要: 安装包cf.SyntaxHighighter.msi v1.2下载地址:http://www.cnblogs.com/yaoshiyou/archive/2009/11/25/1610901.html软件界面插入后效果from random import randint def leapYear(year): a4 = year % 4 a100 = year % 100 a400 = year % 400 if (a4 == 0 and a100 != 0) or a400 == 0: return True yearList = []for each... 阅读全文
posted @ 2012-07-29 11:48 balian 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 本博客列出的答案不是来自官方资源,是我自己做的练习,可能有误。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 阅读(1717) 评论(0) 推荐(0) 编辑
摘要: 本博客列出的答案不是来自官方资源,是我自己做的练习,可能有误。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 阅读(715) 评论(0) 推荐(0) 编辑