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')

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

就这样,请多多指教!

你可能感兴趣的:(python)