本文共 7831 字,大约阅读时间需要 26 分钟。
实现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 i in xrange ( 1 , 501 , 2 ): sum1 + = i print sum1 |
求1+ 2! + 3! + 4! + ……20!的和
1 2 3 4 5 6 | 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]
1 2 3 | a = [ 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 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写入到文件中
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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分别是哪些数字:
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 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计算九宫格
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 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实现
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,如需转载请自行联系原作者