实现1-100的所有的和

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


实现1-500所有奇数的和

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


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

a = 1
b = 0
for i in range(1,21):
    a = a*i
    b = b + a
print(b)


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

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

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

import ast
import codecs

a = [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:
    c = ast.literal_eval(ff.read())
    c.reverse()

with codecs.open('1.txt','a') as fff:
    fff.write(str(c))


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

import codecs

a = 'abc'
b = [1, 2,]
c = ('a', 'b', 'c',)
d = {'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分别是哪些数字:

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 A in range(1, 10):
            for B in range(0, 10):
                for C in range(0, 10):
                    for D 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计算九宫格

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 i in range(1, 10):
            self.numbers.append(i)
        print("numbers = {0}".format(self.numbers))
    def run(self):
        for A in range(1, 10):
            l1 = list()
            l1 += self.numbers
            l1.remove(A)
            for B in l1:
                l2 = list()
                l2 += l1
                l2.remove(B)
                for C in l2:
                    l3 = list()
                    l3 += l2
                    l3.remove(C)
                    for D in l3:
                        l4 = list()
                        l4 += l3
                        l4.remove(D)
                        for E in l4:
                            l5 = list()
                            l5 += l4
                            l5.remove(E)
                            for F in l5:
                                l6 = list()
                                l6 += l5
                                l6.remove(F)
                                for G in l6:
                                    l7 = list()
                                    l7 += l6
                                    l7.remove(G)
                                    for H in l7:
                                        l8 = list()
                                        l8 += l7
                                        l8.remove(H)
                                        for I in l8:
                                            if A+B+C == D+E+F == G+H+I == A+D+G == B+E+H == C+F+I == A+E+I == C+E+G == 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实现

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