python核心编程v2.0 第8章习题答案
2017-08-21 17:02
351 查看
2.
3.
4.
5.
6.
7.
8.
9.
10.
元音字母为aeiou 读取后比对即可,单词用空格来确定。特殊情况需要查语法,未补充,大概思路一样,会涉及读到某个字母则再向下多读一个的情况
11.
12.
13.
参考百度文库中一份答案
timeit 用于测指令耗时
结果:
通过索引的迭代:使用range()函数得到list的索引数列表,再利用索引查找对应的序列对象,查找增加了复杂度
通过序列项的迭代:变量被设置为list中特定的某个元素
if __name__ == '__main__': f = int(raw_input('from:')) t = int(raw_input('to:')) i = int(raw_input('increment:')) x = 0 while f+x <= t: print f+x x = x + i
3.
print range(0,10) print range(3,21,3) print range(-20,1080,220)
4.
def showMaxFactor(num): count = num/2 while count>1: if num % count == 0: return False break count = count-1 else: return True if __name__ == '__main__': while True: num = int(raw_input('number')) print showMaxFactor(num)
5.
def getfactors(num): lis = [] for i in range(num): if i == 0: pass else: if num % i == 0: lis.append(i) lis.append(num) return lis if __name__ == '__main__': while True: num = int(raw_input('number')) lis = getfactors(num) for i in lis: print i
6.
def showMaxFactor(num): count = num/2 while count>1: if num % count == 0: return False break count = count-1 else: return True def getfactors(nex,lis): i=2 while i <= nex: if nex % i == 0 and showMaxFactor(i) == True: lis.append(i) nex = nex/i #迭代寻找,注意完成后需要break否则会出现错误 getfactors(nex,lis) break i = i+1 return lis if __name__ == '__main__': while True: num = int(raw_input('number')) lis = [] li = getfactors(num,lis) for i in li: print i
7.
def getfactors(num): lis = [] for i in range(num): if i == 0: pass else: if num % i == 0: lis.append(i) return lis def isperfect(num,lis): s =sum(lis) if num == s : return 1 else: return 0 if __name__ == '__main__': while True: num = int(raw_input('number')) lis = getfactors(num) # print lis print isperfect(num,lis)
8.
def factorial(num): i = 1 sum = 1 while i <= num: sum = sum*num num = num -1 i = i+1 return sum if __name__ == '__main__': while True: num = int(raw_input('number')) print factorial(num)
9.
def f(num): lis = [1,1] i = 2 while i < num: lis.append(lis[i-2]+lis[i-1]) i = i+1 return lis[num-1] if __name__ == '__main__': while True: num = int(raw_input('number')) ls = f(num) print ls
10.
元音字母为aeiou 读取后比对即可,单词用空格来确定。特殊情况需要查语法,未补充,大概思路一样,会涉及读到某个字母则再向下多读一个的情况
def count(sentence): ls = list('aeiou') num1 = 0 num2 = 0 num3 = 1 for i in sentence: if i == ' ': num3=num3+1 elif i in ls: num1 = num1+1 else: num2 = num2+1 print num1,num2,num3 if __name__ == '__main__': while True: sentence = raw_input('sentence') count(sentence)
11.
def check(name): if name.count(',')!=1: return 1 else: return 0 if __name__ == '__main__': ls = [] wrong = 0 for i in range(4): name = raw_input('name') if check(name)!= 0: wrong = wrong + check(name) print 'now wrong',wrong else: ls.append(name) ls.sort() for i in ls: print i
12.
if __name__ == '__main__': num1 = int(raw_input('from')) num2 = int(raw_input('to')) print 'DEC','BIN','OCT','HEX', #若这个范围内会出现可打印ascll码的范围,则添加一栏 if 32<=num2<=127 or 32<=num1<=127 : print 'ASCLL' else: print '' for i in range(num1,num2+1): print i,bin(i),oct(i),hex(i),chr(i)
13.
参考百度文库中一份答案
timeit 用于测指令耗时
import timeit li = ['wqe','as','we','qwr','wqee'] li *= 10000 #不在这两个函数中使用print,print耗时较大 def inter_direct(): for i in li: j = i def inter_index(): for i in range(len(li)): j = li[i] if __name__ == '__main__': tindex = timeit.Timer("inter_index()","from __main__ import inter_index") tdirect = timeit.Timer("inter_direct()", "from __main__ import inter_direct") print tindex.timeit(10) print tdirect.timeit(10)
结果:
0.0222831201904 0.00943949609575
通过索引的迭代:使用range()函数得到list的索引数列表,再利用索引查找对应的序列对象,查找增加了复杂度
通过序列项的迭代:变量被设置为list中特定的某个元素
相关文章推荐
- Python核心编程v2.0 第12章习题答案
- python核心编程v2.0 第7章习题答案(下)
- python核心编程-第8章课后习题答案
- Python核心编程v2.0 第11章习题答案
- python核心编程习题答案(第二章)
- Python核心编程v2.0 第13章习题(下)
- python3核心编程每日习题答案
- python核心编程v2.0 第7章习题(上)
- 《Python核心编程》第二版第18页第一章练习 -Python核心编程答案-自己做的-
- 小甲鱼Python教程第19,20讲--python函数2:笔记及习题答案
- 《跟阿铭学Linux》第8章 文档的压缩与打包:课后习题与答案
- 《Python核心编程》第二版第160页第六章练习 续四 -Python核心编程答案-自己做的-
- 《Python核心编程》第二版第405页第十三章练习 续一 -Python核心编程答案-自己做的-
- 《Python核心编程》第二版第55页第三章练习 续二 -Python核心编程答案-自己做的-
- 小甲鱼Python教程第22讲--python函数:递归 笔记习题及答案
- 小甲鱼python教程32-33讲--python异常 笔记及习题答案
- python 核心编程 第六章习题
- 【零基础入门学习Python笔记003】插曲之变量和字符串|课习题答案
- 【鱼C·零基础入门学习python】第16课到第22课习题答案
- 《Python核心编程》第二版第36页第二章练习 续三 -Python核心编程答案-自己做的-