python核心编程第六章练习6-11】的更多相关文章

随机数.设计一个“石头.剪子.布”游戏,有时又叫“Rochambeau”,你小时候可能玩过,下面是规则.你和你的对手,在同一时间做出特定的手势,必须是下面一种:石头.剪子.布.胜利者从下面的规则产生,这个规则本身是个悖论.(a)布包石头.(b)石头砸剪子.(c)剪子剪破布.在你的计算机版本中,用户输入他/她的选项,计算机找一个随机选项,然后由你的程序来决定一个胜利者或者平手.注意,最好的算法是尽量少使用if语句.[答案]代码如下: #!/usr/bin/env python # -*- codi…
6-13.字符串.string模块包含三个函数,atoi(),atol()和atof(),他们分别负责把字符串转换成整型.长整型和浮点型数字.从Python 1.5起,Python的内建函数int().long().float()也可以做同样的事了,本文来,complex()函数可以把字符串转换成复数(然而1.5之前,这些转换函数只能工作于数字之上)自博客园.string模块中并没有实现一个atoc()函数,那么你来实现一个atoc(),接受单个字符串做参数输入,一个表示复数的字符串,例如'-1…
6-10.字符串.写一个函数,返回一个跟输入字符串相似的字符串,要求字符串的大小写反转,比如,输入“Mr.Ed”,应该返回“mR.eD”作为输出.[答案]代码如下: #!/usr/bin/env python from lib2to3.fixer_util import String #string lower into upper,upper into lower input = raw_input('Please input a string: ') output = '' for i in…
6-9.转换.为练习5-13写一个姊妹函数,接受分钟数,返回小时数和分钟数.总时间不变,并且要求小时尽可能大.[答案]代码如下: #!/usr/bin/env python # translate minutes into xxHxxM. minutes = int(raw_input('Please input minutes number: ')) h = int(minutes/60) m = minutes%60 print '%d minutes equals %d Hour %d M…
6-8.列表.给出一个整型值,返回代表该值得英文,比如输入89会返回“eight-nine”.附加题:能够返回符合英文语法规律的新式,比如输入89会返回“eighty-nine”.本练习中的值假定在0~1000.[答案]代码如下: number = int(raw_input('Please input a number between 1 to 1000: ... ')) units = ['zero', 'one', 'two', 'three', 'four', 'five', 'six'…
1.序列类型操作符 序列操作符 作用 seq[ind] 获得下标为ind 的元素 seq[ind1:ind2] 获得下标从ind1 到ind2 间的元素集合 seq * expr 序列重复expr 次 seq1 + seq2 连接序列seq1 和seq2 obj in seq 判断obj 元素是否包含在seq 中 obj not in seq 判断obj 元素是否不包含在seq 中 2.序列类型可用的内建函数 函数名 功能 enumerate(iter) 接受一个可迭代对象作为参数,返回一个en…
转换.(a)给出两个可识别格式的日期,比如MM/DD/YY或者DD/MM/YY格式.计算出两个日期之间的天数.(b)给出一个人的生日,计算此人从出生到现在的天数,包括所有的闰月.(c)还是上面的例子,计算出此人下次过生日还有多少天. [答案](a)代码如下: def date_convert(date_input): month = int(date_input.split('/')[0]) day = int(date_input.split('/')[1]) year = int('20'…
6-12.字符串.(a)创建一个名字为findchr()的函数,函数声明如下.def findchr(string, char)findchr()要在字符串string中查找字符char,找到就返回该值得索引,否则返回-1.不能用string.*find()或者string.*index()函数和方法.(b)创建另一个叫rfindchr()的函数,查找字符char最后一次出现的位置.它跟findchr()工作类似,不过它是从字符串的最后开始向前查找的.(c)创建第三个函数,名字叫subchr()…
6-11.转换.(a)创建一个从整型到IP地址的转换,如下格式:www.xxx.yyy.zzz.(b)更新你的程序,使之可以逆转换.[答案](a)代码如下: Input_number = abs(int(raw_input('Please input a number: '))) x3 = x2 = x1 = x0 = 0 x3 = Input_number / (256 ** 3) if x3 > 255: tmp = x3 x3 = 255 else: tmp = x3 x2 = (Inpu…
6–6. 字符串.创建一个 string.strip()的替代函数:接受一个字符串,去掉它前面和后面的 空格(如果使用 string.*strip()函数那本练习就没有意义了) 'Take a string and remove all leading and trailing whitespace' def newStrip(str): 'delete blanks around a string' _end = len(str) _start = 0 # delete the blanks…