python核心编程笔记——Chapter8

Chapter8.条件和循环

这一章感觉有用的点并不多,在我眼里就只有迭代器,列表解析和生成器表达式值得研究而已。

8.2.循环,难度不大。

1 #!usr/bin/env python
2 #-*-coding=utf-8-*-
3 
4 def ran(From,To,Increment):
5     return range(From,To+Increment,Increment)
6 
7 if __name__ == '__main__':
8     print ran(2,26,4)

8.3.range()

>>> range(0,10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(3,21,3)
[3, 6, 9, 12, 15, 18]
>>> range(-20,1080,220)
[-20, 200, 420, 640, 860]

8.5.约数,完成一个名为getfactors()的函数。它接受一个整型作为参数,返回它所有约数的列表,包含1和它本身。可以考虑使用列表解析。

1 #!usr/bin/env python
2 #-*-coding=utf-8-*-
3 
4 def getfactors(n):
5     return [x for x in range(1,n+1) if n % x == 0]
6 
7 if __name__ == '__main__':
8     print getfactors(6)

8.6素因数分解,本来想用很简洁的方式去解决的,但是发现自己没那本事,呜呜。。

 1 #!usr/bin/env python
 2 #-*-coding=utf-8-*-
 3 
 4 def getfactors(n):
 5     return [x for x in range(1,n+1) if n % x == 0]
 6 
 7 def factors(n):
 8     m = []
 9     while n > 1:
10         for x in range(2,n+1):
11             if n % x == 0:
12                 m.append(x)
13                 n /= x
14                 break
15     return m
16 
17 if __name__ == '__main__':
18     print factors(20)

8.10.文本处理,要求统计一篇文本上面的单词个数。试一下吧(先考虑单词之间只有空格的情况)

1 #!usr/bin/env python
2 #-*-coding=utf-8-*-
3 
4 def num_of_word(filename):
5     return len([y for x in open(filename) for y in x.split()])
6 
7 if __name__ == '__main__':
8     print num_of_word('/home/dzhwen/python文件/Homework/Chapter8/123.txt')

其他题目没什么典型性,就不细讲了。

就这样,请多多指教!

原文地址:https://www.cnblogs.com/sysu-blackbear/p/3524552.html