需求1:

ABCD * 9 = DCBA

通过计算方法,给我们计算出 A = ?  B = ?  C = ?  D = ?

A: 1-9

B: 0-9

C: 0-9

D: 1-9

A != B != C != D

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class  CountNumber( object ):
     def  __init__( self ):
         print ( "ABCD * 9 = DCBA; A != B != C != D" )
     def  numAbcd( self ):
         for  in  range ( 1 10 ):
             for  in  range ( 0 10 ):
                 for  in  range ( 0 10 ):
                     for  in  range ( 1 10 ):
                         if  ( A  *  1000  +  *  100  +  *  10  +  D)  *  9  = =  (D  *  1000  +  *  100  +  *  10  +  A):
                             print ( "{0}{1}{2}{3} * 9 = {4}{5}{6}{7}" . format (A, B, C, D, D, C, B, A))
                             print ( "A = {0}, B = {1}, C = {2}, D = {3}" . format (A, B, C, D))
 
 
 
def  main():
     countNumber  =  CountNumber()
     countNumber.numAbcd()
 
if  __name__  = =  '__main__' :
     main()



需求2:

_____________

|_A_|_B_|_C_|

|_D_|_E_|_F_|

|_G_|_H_|_I_|


A, B, C, D, E, F, G, H, I 必须是1-9数字,且不能重复

所有的行,列,对角线的和都为15

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
class  NinePaper( object ):
     def  __init__( self ):
         self .numbers  =  list ()
         for  in  range ( 1 10 ):
             self .numbers.append(i)
         print ( "numbers = {0}" . format ( self .numbers))
     def  run( self ):
         for  in  range ( 1 10 ):
             l1  =  list ()
             l1  + =  self .numbers
             l1.remove(A)
             for  in  l1:
                 l2  =  list ()
                 l2  + =  l1
                 l2.remove(B)
                 for  in  l2:
                     l3  =  list ()
                     l3  + =  l2
                     l3.remove(C)
                     for  in  l3:
                         l4  =  list ()
                         l4  + =  l3
                         l4.remove(D)
                         for  in  l4:
                             l5  =  list ()
                             l5  + =  l4
                             l5.remove(E)
                             for  in  l5:
                                 l6  =  list ()
                                 l6  + =  l5
                                 l6.remove(F)
                                 for  in  l6:
                                     l7  =  list ()
                                     l7  + =  l6
                                     l7.remove(G)
                                     for  in  l7:
                                         l8  =  list ()
                                         l8  + =  l7
                                         l8.remove(H)
                                         for  in  l8:
                                             if  A + B + = =  D + E + = =  G + H + = =  A + D + = =  B + E + = =  C + F + = =  A + E + = =  C + E + = =  15 :
                                                 print ( '''
                                             _____________
                                             |_{0}_|_{1}_|_{2}_|
                                             |_{3}_|_{4}_|_{5}_|
                                             |_{6}_|_{7}_|_{8}_|
                                                 ''' . format (A, B, C, D, E, F, G, H, I))
 
 
 
 
def  main():
     ninePaper  =  NinePaper()
     ninePaper.run()
 
if  __name__  = =  '__main__' :
     main()



需求3:

将文件passwd的内容,写入新的文件并排序,新文件名为newpasswd

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import  codecs
 
import  os
 
 
class  SortPasswd( object ):
     def  __init__( self ):
         self .passwd  =  "passwd"
         self .newpasswd  =  "newpasswd"
         self .contextList  =  list ()
         if  not  os.path.exists( self .passwd):
             print ( "please download passwd from linux." )
             exit( 1 )
         print ( "sort file is :{0}" . format ( self .passwd))
         print ( "sorted file is :{0}" . format ( self .newpasswd))
     def  getContextList( self ):
         with codecs. open ( "passwd" ) as fr:
             self .contextList  + =  sorted (fr.readlines(), key = lambda  line: int (line.split( ":" )[ 2 ]), reverse = False )
     def  writeContextList( self ):
         with codecs. open ( "new_passwd" "w" ) as fw:
             fw.writelines( self .contextList)
 
 
 
def  main():
     sortpasswd  =  SortPasswd()
     sortpasswd.getContextList()
     sortpasswd.writeContextList()
 
if  __name__  = =  '__main__' :
     main()