天天看點

Python:Python技巧之80個經典題——課程筆記(二)

【程式5】

題目:輸入三個整數x,y,z,請把這三個數由小到大輸出。

【程式8】

題目:輸出9*9口訣。

1 for i in range(1,10):

2     for j in range(1,i+1):

3         print i,'*',j,'=',i*j,

4     print ''

【程式11】

題目:古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月

  後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?

1 a = 1

2 b = 1

3 for i in range(1,21,2):

4     print '%d %d'%(a,b),

5     a += b

6     b += a

【程式12】

題目:判斷101-200之間有多少個素數,并輸出所有素數。

1 #!/usr/bin/python

2 #-*- coding:utf-8 -*-

3 from math import sqrt

4 def main():

5     for i in range(101,201):

6         flag = 1

7         k = int(sqrt(i))

8         for j in range(2,k+1):

9             if i%j == 0:

10                 flag = 0

11                 break

12         if flag == 1:

13             print '%5d'%(i),

14    

15 if __name__ == "__main__":

16     main()

【程式13】

題目:列印出所有的“水仙花數”,所謂“水仙花數”是指一個三位數,其各位數字立方和等于該數本身。例如:153是一個“水仙花數”,因為153=1的三次方+5的三次方+3的三次方。

3 def main():

4     for i in range(100,1000):

5         a = i%10

6         b = i/100

7         c = (int(i/10))%10

8         if i == a**3+b**3+c**3:

9             print "%5d"%(i),

10

11 if __name__ == "__main__":

12     main()

【程式14】

題目:将一個正整數分解質因數。例如:輸入90,列印出90=2*3*3*5。

3

5     n = int(raw_input('Enter a number:'))

6     print n,'=',

7     while(n!=1):

8         for i in range(2,n+1):

9             if (n%i)==0:

10                 n/=i

11                 if(n == 1):

12                     print '%d'%(i)

13                 else:

14                     print '%d *'%(i),

15                 break

16            

17        

18 if __name__ == "__main__":

19     main()