#装饰器,让一个函数执行多少次
def xxx(counter):
def outer(func):
def inner(*args,**kwargs):
a = []
for i in range(counter):
data = func(*args,**kwargs)
a.append(data)
return a
return inner
return outer
@xxx(5)
def index():
pass
resule = index()
print(resule)
hashib模块应用,MD5
import hashlib
def get_md5(data):
obj = hashlib.md5('JIOhfuefh3897,'.encode('utf-8'))#加盐
obj.update(data.encode('utf-8'))#明文
result = obj.hexdigest()#密文
return result
fi = []
def zc():
print("用户注册")
user = input("请输入用户名:")
pwd = input("请输入密码:")
temp = {"username":user,"password":get_md5(pwd)}
fi.append(temp)
def login():
print("用户登陆")
user = input("请输入用户:")
pwd = input("请输入密码:")
for item in fi:
if item['username' ] == user and item['password'] == get_md5(pwd):
return True
zc()
result = login()
if result:
print("登陆成功")
else:
print("登陆失败,请重新输入")
面试题,ip转进制,每个十进制转换成二进制,00000.。。。的十进制值
ip = "192.168.12.179"
ip_list = ip.split('.')
res = []
def i_list(ipl):
for item in ipl:
res.append(bin(int(item)))
i_list(ip_list)
print(res)
r = []
for item in res:
data =item.lstrip('0b')
if len(data) < 8:
data = data.rjust(8,'0')
r.append(data)
a = (''.join(r))
print(a)
c = int(a,base=2)
print(c)
分10页 #divmo()的应用,取两数的商和余数
z = []
for item in range(505):
temp = {'name':'zcy%s'%item}
z.append(temp)
page = int(input("输入页数:"))
total_page = 505
fy = 10
totalfy,fyds = divmod(total_page,fy)
if fyds > 0:
totalfy += 1
start = (page-1) * 10
end = (page) * 10
if page < 0 or page >totalfy:
print("页数错误,应当1——%s页"%totalfy)
else:
data = z[start:end]
for i in data:
print(i)
1 paramikol连接Linux
2 import paramiko
3 #创建实例对象
4 ssh = paramiko.SSHClient()
5 #调用方法,标识没有远程机器的公钥,允许访问(允许连接不在know_hosts文件中的主机)
6 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
7 #连接远程主机 地址端口用户密码
8 ssh.connect('192.168.137.174',22,'root','123')
9
10 while True:
11 inputs = input("[root@localhost~]#")
12 stdin,stdout,stder=ssh.exec_command(inputs)#执行命令,返回的结果又3种
13 '''linux用命令安装软件的时候,会询问y/n,这个stdin就是用来接收输入y还是n |
14 stuout命令执行后的结果,是一个管道,需要用read函数读取 | stderr执行错误信息'''
15 OUT=stdout.readlines()
16 for i in OUT:
17 print(i)
18 ssh.close()
19
20 # pip uninstall cryptography==2.5
21 # pip install cryptography==2.4.2
1 #猜数字游戏2019-05-28
2 import random
3 count = 0
4 while count < 3:
5 n = random.randint(1,10)
6 num = int(input('please number:'))
7 if num == n:
8 print("You guuesed it")
9 break
10 elif num > n:
11 print('try small..')
12 elif num < n:
13 print('try bigger')
14 count += 1
15 if count == 3:
16 answer = input('Do you want to continue?')
17 if answer == 'Y' or answer == 'y':
18 count = 0
19 elif answer == 'N' or answer == 'n':
20 break
21 else:
22 break
有如下文件,请通过分页的形式将数据展示出来。【文件非常大】
def big_file():
total_count = 0
for index, line in enumerate(open(r'goods', 'rb')):
total_count += 1
per_page_count = 10
max_page_num, a = divmod(total_count, per_page_count)
if a > 0:
max_page_num += 1
while True:
print('
共计%s页'%(max_page_num))
pager = int(input('要查看第几页:'))
if pager < 1 or pager > max_page_num:
print('页码不合法,必须是 1 ~ %s' % max_page_num)
else:
start = (pager - 1) * per_page_count
end = pager * per_page_count
for index, line in enumerate(open(r'goods', 'rb')):
if index >= start and index < end:
print(line.decode(encoding='utf-8'),end="")
#斐波那契
def func(max_range):
result = [1,1]
while True:
val = result[-1] + result[-2]
if val > max_range:
break
result.append(val)
return result
print(func(222))
from datetime import datetime
def regiester():
'''
用户注册
:return:
'''
print("用户注册")
while True:
user = input("输入注册用户名(N退出):")
if user.lower() == 'n':
break
pwd = input("输入秘密:")
ctime = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
user_info = {"user": user, "pwd": pwd, "time":ctime}
User_info = "%s|%s|%s
"%(user,pwd,ctime)
with open('db.txt',mode='a',encoding='utf-8') as f:
data = f.write(User_info)
with open('db.txt',mode='r',encoding='utf-8') as f:
data = f.read()
Data = [i.strip() for i in data if i.strip()]
if user in Data:
print("用户已存在")
continue
def login():
while True:
print("用户登陆")
user = input("用户名:")
pwd = input("密码:")
user_exists = False
flag = False
with open('db.txt',mode='r',encoding='utf-8') as f:
for line in f:
username,password,ctime = line.split('|')
if username == user:
user_exists = True
if username == user and password == pwd:
flag = True
print("登陆成功")
if not user_exists:
print("用户不存在")
continue
if not flag:
print("用户名或密码错误")
def run():
run_info = {'1': regiester, '2': login}
while True:
print("1,用户注册 2,用户登陆")
choice = input("请选择 1 and 2:")
run_func = run_info.get(choice)
if not run_func:
print("输入错误")
continue
run_func()
if __name__ == '__main__':
run()