博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python练习题
阅读量:6465 次
发布时间:2019-06-23

本文共 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 
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,如需转载请自行联系原作者

你可能感兴趣的文章
doc2vec使用说明(一)gensim工具包TaggedLineDocument
查看>>
Q:图像太大,在opencv上显示不完全
查看>>
利用ItextPdf、core-renderer-R8 来生成PDF
查看>>
NavigationController的使用
查看>>
多线程编程之Windows环境下创建新线程
查看>>
Unity3D NGUI 给button按钮添加单间事件
查看>>
密码的校验.大小写字母,数字,特殊字符中的至少3种
查看>>
ios 不同sdk4.3 6.0版本号,关于方法的兼容性的通用方法
查看>>
js滚动加载到底部
查看>>
Virtualbox 虚拟机网络不通
查看>>
超级账本Fabric区块链用弹珠游戏Marbles 部署
查看>>
18年selenium3+python3+unittest自动化测试教程(下)
查看>>
memcache数据库和redis数据库的区别(理论)
查看>>
我的友情链接
查看>>
MyBatis+Spring结合
查看>>
Office 365之SkyDrive Pro
查看>>
Java Web 高性能开发
查看>>
Scala之柯里化和隐式转换
查看>>
mysql拷贝表的几种方式
查看>>
健忘的正则
查看>>