python练习题

简介:

实现1-100的所有的和

1
2
3
4
5
sum1  =  0
while  sum1 <  100 :
     sum1  + =  1
print  sum1
print  ( '-----'  *  10 )


实现1-500所有奇数的和

1
2
3
4
sum1  =  0
for  in  xrange ( 1 , 501 , 2 ):
     sum1  + =  i
print  sum1


求1+ 2! + 3! + 4! + ……20!的和

1
2
3
4
5
6
=  1
=  0
for  in  range ( 1 , 21 ):
     =  a * i
     =  +  a
print (b)


对指定一个list进行排序[2,32,43,453,54,6,576,5,7,6,8,78,7,89]

1
2
3
=  [ 2 , 32 , 43 , 453 , 54 , 6 , 576 , 5 , 7 , 6 , 8 , 78 , 7 , 89 ]
a.sort()
print (a)

把一个数字的list从小到大排序,然后写入文件,然后从文件中读取出来文件内容,然后反序,在追加到文件的下一行中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import  ast
import  codecs
 
=  [ 2 , 32 , 43 , 453 , 54 , 6 , 576 , 5 , 7 , 6 , 8 , 78 , 7 , 89 ]
 
with codecs. open ( '1.txt' , 'w' ) as f:
     a.sort()
     f.write( str (a))
 
with codecs. open ( '1.txt' , 'r' ) as ff:
     =  ast.literal_eval(ff.read())
     c.reverse()
 
with codecs. open ( '1.txt' , 'a' ) as fff:
     fff.write( str (c))


分别把 string, list, tuple, dict写入到文件中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import  codecs
 
=  'abc'
=  [ 1 2 ,]
=  ( 'a' 'b' 'c' ,)
=  { 'Q' : 7 'W' : 8 'E' : 9 ,}
 
print ( type (a))
print ( type (b))
print ( type (c))
print ( type (d))
 
with codecs. open ( '2.txt' 'w' ) as f:
     f.write( str (a))
     f.write( str (b))
     f.write( str (c))
     f.write( str (d))

ABCD*9 = DCBA,使用Python计算abcd分别是哪些数字:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class  CountNumber( object ):
     '''ABCD * 9 = DCBA
     通过计算机的方法,给我们计算出A = ?  B = ? C = ? D = ?
     A: 1-9
     B: 0-9
     C: 0-9
     D: 1-9
     A != B != C !=D
     '''
     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  +  B * 100  +  C * 10  +  D)  *  9  = =  (D * 1000  +  C * 100  +  B * 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()

使用Python计算九宫格

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
58
59
60
class  NinePaper( object ):
     def  __init__( self ):
         print ( '''
                     _____________
                     |_A_|_B_|_C_|
                     |_D_|_E_|_F_|
                     |_G_|_H_|_I_|
                     A, B, C, D, E, F, G, H, I 必须是1-9数字,且不能重复
                     所有的行,列,对角线的和都为15
         ''' )
         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()

passwd文件按uid正序排序 生成一个新的passwd文件,用Python实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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()



线程练习题:

定义线程类

import codecs

from queue import Queue

from threading import Thread

import time

class Produce(Thread):

    def __init__(self, queue):

        super(Produce, self).__init__()

        self.fileName = "../firstlession/passwd"

        self.fileList = list()

        self.queue = queue

    def run(self):

        with codecs.open(self.fileName) as f:

            self.fileList += f.readlines()

        for line in self.fileList:

            self.queue.put(line)

class Consumer(Thread):

    def __init__(self, queue):

        self.queue = queue

        super(Consumer, self).__init__()

        self.newPasswd = "newpasswd.txt"

        self.fileList = list()

        self.stat = 1

    def run(self):

        while 1:

            if self.queue.empty():

                time.sleep(2)

                self.stat += 1

                if self.stat == 5:

                    break

            else:

                self.stat = 1

                data = self.queue.get()

                self.fileList.append(data)

        with codecs.open(self.newPasswd, 'w') as f:

            f.writelines(self.fileList)

调用类,并写入主函数

from queue import Queue

from onlive.secondlesson.threadtest import Produce, Consumer

def main():

    q = Queue()

    produce = Produce(q)

    consumer = Consumer(q)

    produce.start()

    consumer.start()

if __name__ == '__main__':

    main()

socket编程

服务端:

from onlive.sockettest.util import SocketServerTest

if __name__ == '__main__':

    socketServer = SocketServerTest(host="0.0.0.0", port=9999, type="tcp", backlog=5)

    socketServer.run()

客户端:

from onlive.sockettest.util import ClientSocketTest

if __name__ == '__main__':

    socketClient = ClientSocketTest(host="127.0.0.1", port=9999, type="tcp")

    socketClient.run()

主函数:

import socket

import time

class InitSocketTest(object):

    def __init__(self, host, port, type):

        self.host = host

        self.port = port

        self.address = (host, port)

        self.type = type

        self.s = None

        self.creatsocket()

    def creatsocket(self):

        if self.type.upper() == "TCP":

            self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        elif self.type.upper == "UDP":

            self.s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

        else:

            print("you must input the InitSocket(type) is 'UDP|TCP' ")

class SocketServerTest(InitSocketTest):

    def __init__(self, host, port, type,  backlog):

        self.backlog = backlog

        super(SocketServerTest, self).__init__(host, port, type)

        self.clientAddress = None

    def run(self):

        self.s.bind(self.address)

        self.s.listen(self.backlog)

        print("server starting…………")

        conn, self.clientAddress = self.s.accept()

        print("accept connect from {0}".format(self.clientAddress))

        for i in range(1, 10):

            conn.sendall("i = {0}".format(str(i)).encode("utf-8"))

        self.s.close()

class ClientSocketTest(InitSocketTest):

    def run(self):

        self.s.connect(self.address)

        stat = 1

        while 1:

            data = self.s.recv(2048)

            if len(data)>0:

                stat = 1

                print(data.decode("utf-8"))

            else:

                stat += 1

                time.sleep(1)

                if stat == 5:

                    break



用Python实现ssh客户端

server端

import paramiko

import time

client = paramiko.SSHClient()

client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 上面是用来设置known-host

host = "192.168.48.131"

port = 22

username = "root"

passwd = "123456"

client.connect(hostname=host, port=port, username=username, password=passwd)

stat = 1

while 1:

    cmd = input("{0}>> ".format(host))

    if cmd:

        stat = 1

        stdin, stdout, stderr = client.exec_command(cmd)

        for std in stdout.readlines():

            print(std)

    else:

        stat += 1

        time.sleep(1)

        if stat == 5:

            break

client端

import socket

import time

if __name__ == '__main__':

    host = "192.168.48.131"

    port = 12345

    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    s.connect((host, port))

    stat = 1

    while 1:

        cmd = input("{0}>>> ".format(host))

        if cmd.lower() == "exit":

            exit()

        if not cmd:

            continue

        s.sendall(cmd.encode("utf-8"))

        data = s.recv(2048)

        redata = data.decode("utf-8").replace("\n", "\r\n")

        # print(type(data))

        if len(data)>0:

            stat = 1

            print("{0}".format(redata))

        else:

            stat += 1

            time.sleep(1)

            if stat == 5:

                break





本文转自 粗粮面包 51CTO博客,原文链接:http://blog.51cto.com/culiangmianbao/1976598,如需转载请自行联系原作者

相关文章
|
存储 Python
Python经典练习题(四)
Python经典练习题(四)
Python经典练习题(四)
|
存储 Web App开发 开发者
Python 自动化指南(繁琐工作自动化)第二版:附录 C:练习题的答案
Python 自动化指南(繁琐工作自动化)第二版:附录 C:练习题的答案
126 0
|
存储 Python
Python经典练习题(三)
Python经典练习题(三)
|
存储 索引 Python
【python】——组合数据类型(单选练习题)
【python】——组合数据类型(单选练习题)
|
算法 Python
python文件读取操作练习题(统计单词)
python文件读取操作练习题(统计单词)
196 0
|
Python
Python|PTA练习题
Python|PTA练习题
261 0

热门文章

最新文章

推荐镜像

更多