實作1-100的所有的和
1
2
3
4
5
<code>sum1 </code><code>=</code> <code>0</code>
<code>while</code> <code>sum1 < </code><code>100</code><code>:</code>
<code> </code><code>sum1 </code><code>+</code><code>=</code> <code>1</code>
<code>print</code> <code>sum1</code>
<code>print</code> <code>(</code><code>'-----'</code> <code>*</code> <code>10</code><code>)</code>
實作1-500所有奇數的和
<code>for</code> <code>i </code><code>in</code> <code>xrange</code><code>(</code><code>1</code><code>,</code><code>501</code><code>,</code><code>2</code><code>):</code>
<code> </code><code>sum1 </code><code>+</code><code>=</code> <code>i</code>
求1+ 2! + 3! + 4! + ……20!的和
6
<code>a </code><code>=</code> <code>1</code>
<code>b </code><code>=</code> <code>0</code>
<code>for</code> <code>i </code><code>in</code> <code>range</code><code>(</code><code>1</code><code>,</code><code>21</code><code>):</code>
<code> </code><code>a </code><code>=</code> <code>a</code><code>*</code><code>i</code>
<code> </code><code>b </code><code>=</code> <code>b </code><code>+</code> <code>a</code>
<code>print</code><code>(b)</code>
對指定一個list進行排序[2,32,43,453,54,6,576,5,7,6,8,78,7,89]
<code>a </code><code>=</code> <code>[</code><code>2</code><code>,</code><code>32</code><code>,</code><code>43</code><code>,</code><code>453</code><code>,</code><code>54</code><code>,</code><code>6</code><code>,</code><code>576</code><code>,</code><code>5</code><code>,</code><code>7</code><code>,</code><code>6</code><code>,</code><code>8</code><code>,</code><code>78</code><code>,</code><code>7</code><code>,</code><code>89</code><code>]</code>
<code>a.sort()</code>
<code>print</code><code>(a)</code>
把一個數字的list從小到大排序,然後寫入檔案,然後從檔案中讀取出來檔案内容,然後反序,在追加到檔案的下一行中
7
8
9
10
11
12
13
14
15
<code>import</code> <code>ast</code>
<code>import</code> <code>codecs</code>
<code>with codecs.</code><code>open</code><code>(</code><code>'1.txt'</code><code>,</code><code>'w'</code><code>) as f:</code>
<code> </code><code>a.sort()</code>
<code> </code><code>f.write(</code><code>str</code><code>(a))</code>
<code>with codecs.</code><code>open</code><code>(</code><code>'1.txt'</code><code>,</code><code>'r'</code><code>) as ff:</code>
<code> </code><code>c </code><code>=</code> <code>ast.literal_eval(ff.read())</code>
<code> </code><code>c.reverse()</code>
<code>with codecs.</code><code>open</code><code>(</code><code>'1.txt'</code><code>,</code><code>'a'</code><code>) as fff:</code>
<code> </code><code>fff.write(</code><code>str</code><code>(c))</code>
分别把 string, list, tuple, dict寫入到檔案中
16
17
<code>a </code><code>=</code> <code>'abc'</code>
<code>b </code><code>=</code> <code>[</code><code>1</code><code>, </code><code>2</code><code>,]</code>
<code>c </code><code>=</code> <code>(</code><code>'a'</code><code>, </code><code>'b'</code><code>, </code><code>'c'</code><code>,)</code>
<code>d </code><code>=</code> <code>{</code><code>'Q'</code><code>:</code><code>7</code><code>, </code><code>'W'</code><code>:</code><code>8</code><code>, </code><code>'E'</code><code>:</code><code>9</code><code>,}</code>
<code>print</code><code>(</code><code>type</code><code>(a))</code>
<code>print</code><code>(</code><code>type</code><code>(b))</code>
<code>print</code><code>(</code><code>type</code><code>(c))</code>
<code>print</code><code>(</code><code>type</code><code>(d))</code>
<code>with codecs.</code><code>open</code><code>(</code><code>'2.txt'</code><code>, </code><code>'w'</code><code>) as f:</code>
<code> </code><code>f.write(</code><code>str</code><code>(b))</code>
<code> </code><code>f.write(</code><code>str</code><code>(c))</code>
<code> </code><code>f.write(</code><code>str</code><code>(d))</code>
ABCD*9 = DCBA,使用Python計算abcd分别是哪些數字:
18
19
20
21
22
23
24
<code>class</code> <code>CountNumber(</code><code>object</code><code>):</code>
<code> </code><code>'''ABCD * 9 = DCBA</code>
<code> </code><code>通過計算機的方法,給我們計算出A = ? B = ? C = ? D = ?</code>
<code> </code><code>A: 1-9</code>
<code> </code><code>B: 0-9</code>
<code> </code><code>C: 0-9</code>
<code> </code><code>D: 1-9</code>
<code> </code><code>A != B != C !=D</code>
<code> </code><code>'''</code>
<code> </code><code>def</code> <code>__init__(</code><code>self</code><code>):</code>
<code> </code><code>print</code><code>(</code><code>"ABCD * 9 = DCBA; A!=B!=C!=D"</code><code>)</code>
<code> </code><code>def</code> <code>numAbcd(</code><code>self</code><code>):</code>
<code> </code><code>for</code> <code>A </code><code>in</code> <code>range</code><code>(</code><code>1</code><code>, </code><code>10</code><code>):</code>
<code> </code><code>for</code> <code>B </code><code>in</code> <code>range</code><code>(</code><code>0</code><code>, </code><code>10</code><code>):</code>
<code> </code><code>for</code> <code>C </code><code>in</code> <code>range</code><code>(</code><code>0</code><code>, </code><code>10</code><code>):</code>
<code> </code><code>for</code> <code>D </code><code>in</code> <code>range</code><code>(</code><code>1</code><code>, </code><code>10</code><code>):</code>
<code> </code><code>if</code> <code>(A</code><code>*</code><code>1000</code> <code>+</code> <code>B</code><code>*</code><code>100</code> <code>+</code> <code>C</code><code>*</code><code>10</code> <code>+</code> <code>D) </code><code>*</code> <code>9</code> <code>=</code><code>=</code> <code>(D</code><code>*</code><code>1000</code> <code>+</code> <code>C</code><code>*</code><code>100</code> <code>+</code> <code>B</code><code>*</code><code>10</code> <code>+</code> <code>A):</code>
<code> </code><code>print</code><code>(</code><code>"{0}{1}{2}{3} *9 = {4}{5}{6}{7}"</code><code>.</code><code>format</code><code>(A,B,C,D,D,C,B,A))</code>
<code> </code><code>print</code><code>(</code><code>"A = {0}, B = {1}, C = {2}, D = {3}"</code><code>.</code><code>format</code><code>(A,B, C, D))</code>
<code>def</code> <code>main():</code>
<code> </code><code>countNumber </code><code>=</code> <code>CountNumber()</code>
<code> </code><code>countNumber.numAbcd()</code>
<code>if</code> <code>__name__ </code><code>=</code><code>=</code> <code>'__main__'</code><code>:</code>
<code> </code><code>main()</code>
使用Python計算九宮格
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
<code>class</code> <code>NinePaper(</code><code>object</code><code>):</code>
<code> </code><code>print</code><code>(</code><code>'''</code>
<code> </code><code>_____________</code>
<code> </code><code>|_A_|_B_|_C_|</code>
<code> </code><code>|_D_|_E_|_F_|</code>
<code> </code><code>|_G_|_H_|_I_|</code>
<code> </code><code>A, B, C, D, E, F, G, H, I 必須是1-9數字,且不能重複</code>
<code> </code><code>所有的行,列,對角線的和都為15</code>
<code> </code><code>'''</code><code>)</code>
<code> </code><code>self</code><code>.numbers </code><code>=</code> <code>list</code><code>()</code>
<code> </code><code>for</code> <code>i </code><code>in</code> <code>range</code><code>(</code><code>1</code><code>, </code><code>10</code><code>):</code>
<code> </code><code>self</code><code>.numbers.append(i)</code>
<code> </code><code>print</code><code>(</code><code>"numbers = {0}"</code><code>.</code><code>format</code><code>(</code><code>self</code><code>.numbers))</code>
<code> </code><code>def</code> <code>run(</code><code>self</code><code>):</code>
<code> </code><code>l1 </code><code>=</code> <code>list</code><code>()</code>
<code> </code><code>l1 </code><code>+</code><code>=</code> <code>self</code><code>.numbers</code>
<code> </code><code>l1.remove(A)</code>
<code> </code><code>for</code> <code>B </code><code>in</code> <code>l1:</code>
<code> </code><code>l2 </code><code>=</code> <code>list</code><code>()</code>
<code> </code><code>l2 </code><code>+</code><code>=</code> <code>l1</code>
<code> </code><code>l2.remove(B)</code>
<code> </code><code>for</code> <code>C </code><code>in</code> <code>l2:</code>
<code> </code><code>l3 </code><code>=</code> <code>list</code><code>()</code>
<code> </code><code>l3 </code><code>+</code><code>=</code> <code>l2</code>
<code> </code><code>l3.remove(C)</code>
<code> </code><code>for</code> <code>D </code><code>in</code> <code>l3:</code>
<code> </code><code>l4 </code><code>=</code> <code>list</code><code>()</code>
<code> </code><code>l4 </code><code>+</code><code>=</code> <code>l3</code>
<code> </code><code>l4.remove(D)</code>
<code> </code><code>for</code> <code>E </code><code>in</code> <code>l4:</code>
<code> </code><code>l5 </code><code>=</code> <code>list</code><code>()</code>
<code> </code><code>l5 </code><code>+</code><code>=</code> <code>l4</code>
<code> </code><code>l5.remove(E)</code>
<code> </code><code>for</code> <code>F </code><code>in</code> <code>l5:</code>
<code> </code><code>l6 </code><code>=</code> <code>list</code><code>()</code>
<code> </code><code>l6 </code><code>+</code><code>=</code> <code>l5</code>
<code> </code><code>l6.remove(F)</code>
<code> </code><code>for</code> <code>G </code><code>in</code> <code>l6:</code>
<code> </code><code>l7 </code><code>=</code> <code>list</code><code>()</code>
<code> </code><code>l7 </code><code>+</code><code>=</code> <code>l6</code>
<code> </code><code>l7.remove(G)</code>
<code> </code><code>for</code> <code>H </code><code>in</code> <code>l7:</code>
<code> </code><code>l8 </code><code>=</code> <code>list</code><code>()</code>
<code> </code><code>l8 </code><code>+</code><code>=</code> <code>l7</code>
<code> </code><code>l8.remove(H)</code>
<code> </code><code>for</code> <code>I </code><code>in</code> <code>l8:</code>
<code> </code><code>if</code> <code>A</code><code>+</code><code>B</code><code>+</code><code>C </code><code>=</code><code>=</code> <code>D</code><code>+</code><code>E</code><code>+</code><code>F </code><code>=</code><code>=</code> <code>G</code><code>+</code><code>H</code><code>+</code><code>I </code><code>=</code><code>=</code> <code>A</code><code>+</code><code>D</code><code>+</code><code>G </code><code>=</code><code>=</code> <code>B</code><code>+</code><code>E</code><code>+</code><code>H </code><code>=</code><code>=</code> <code>C</code><code>+</code><code>F</code><code>+</code><code>I </code><code>=</code><code>=</code> <code>A</code><code>+</code><code>E</code><code>+</code><code>I </code><code>=</code><code>=</code> <code>C</code><code>+</code><code>E</code><code>+</code><code>G </code><code>=</code><code>=</code> <code>15</code><code>:</code>
<code> </code><code>print</code><code>(</code><code>'''</code>
<code> </code><code>_____________</code>
<code> </code><code>|_{0}_|_{1}_|_{2}_|</code>
<code> </code><code>|_{3}_|_{4}_|_{5}_|</code>
<code> </code><code>|_{6}_|_{7}_|_{8}_|</code>
<code> </code><code>'''</code><code>.</code><code>format</code><code>(A, B, C, D, E, F, G, H, I))</code>
<code> </code><code>ninePaper </code><code>=</code> <code>NinePaper()</code>
<code> </code><code>ninePaper.run()</code>
passwd檔案按uid正序排序 生成一個新的passwd檔案,用Python實作
<code>import</code> <code>os</code>
<code>class</code> <code>SortPasswd(</code><code>object</code><code>):</code>
<code> </code><code>self</code><code>.passwd </code><code>=</code> <code>"passwd"</code>
<code> </code><code>self</code><code>.newpasswd </code><code>=</code> <code>"newPasswd"</code>
<code> </code><code>self</code><code>.contextList </code><code>=</code> <code>list</code><code>()</code>
<code> </code><code>if</code> <code>not</code> <code>os.path.exists(</code><code>self</code><code>.passwd):</code>
<code> </code><code>print</code><code>(</code><code>"please download passwd from linux."</code><code>)</code>
<code> </code><code>exit(</code><code>1</code><code>)</code>
<code> </code><code>print</code><code>(</code><code>"sort file is :{0}"</code><code>.</code><code>format</code><code>(</code><code>self</code><code>.passwd))</code>
<code> </code><code>print</code><code>(</code><code>"sorted file is :{0}"</code><code>.</code><code>format</code><code>(</code><code>self</code><code>.newpasswd))</code>
<code> </code><code>def</code> <code>getContextList(</code><code>self</code><code>):</code>
<code> </code><code>with codecs.</code><code>open</code><code>(</code><code>"passwd"</code><code>) as fr:</code>
<code> </code><code>self</code><code>.contextList </code><code>+</code><code>=</code> <code>sorted</code><code>(fr.readlines(), key</code><code>=</code><code>lambda</code> <code>line:</code><code>int</code><code>(line.split(</code><code>":"</code><code>)[</code><code>2</code><code>]), reverse</code><code>=</code><code>False</code><code>)</code>
<code> </code><code>def</code> <code>writeContextList(</code><code>self</code><code>):</code>
<code> </code><code>with codecs.</code><code>open</code><code>(</code><code>"new_passwd"</code><code>, </code><code>"w"</code><code>) as fw:</code>
<code> </code><code>fw.writelines(</code><code>self</code><code>.contextList)</code>
<code> </code><code>sortpasswd </code><code>=</code> <code>SortPasswd()</code>
<code> </code><code>sortpasswd.getContextList()</code>
<code> </code><code>sortpasswd.writeContextList()</code>
線程練習題:
定義線程類
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):
super(Consumer, self).__init__()
self.newPasswd = "newpasswd.txt"
self.stat = 1
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 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
socketServer = SocketServerTest(host="0.0.0.0", port=9999, type="tcp", backlog=5)
socketServer.run()
用戶端:
from onlive.sockettest.util import ClientSocketTest
socketClient = ClientSocketTest(host="127.0.0.1", port=9999, type="tcp")
socketClient.run()
主函數:
import socket
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
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):
self.s.connect(self.address)
stat = 1
data = self.s.recv(2048)
if len(data)>0:
stat = 1
print(data.decode("utf-8"))
stat += 1
time.sleep(1)
if stat == 5:
用Python實作ssh用戶端
server端
import paramiko
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:
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端
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))
stat += 1
time.sleep(1)
if stat == 5:
break
本文轉自 粗糧面包 51CTO部落格,原文連結:http://blog.51cto.com/culiangmianbao/1976598,如需轉載請自行聯系原作者