美文网首页
python 面试题(6)

python 面试题(6)

作者: dongshangtong | 来源:发表于2019-06-16 15:50 被阅读0次

1.在Python中输入以下命令:

numbers=[1,2,3,4,5,6,7,8,9,10]
a = numbers[3:6:2]
print (a)

输出结果为:?
 A.[4, 5]
 B.[4, 6]
 C.[3, 5]
 D.[4, 5, 6]
 正确答案:B

2.下面哪个是Python中的不变的数据结构?
 A.set
 B.list
 C.tuple
 D.dict
 正确答案:C

3.python my.py v1 v2 形式运行脚本时,通过 from sys import argv 如何获得v2 的参数值?
 A.argv[0]
 B.argv[1]
 C.argv[2]
 D.argv[3]

from sys import argv 
sys.argv[0] 返回脚本名,也就是说 sys 从 python 之后开始读取参数

 正确答案:C

4下面的python3函数,如果输入的参数n非常大,函数的返回值会趋近于以下哪一个值(选项中的值用Python表达式来表示)()

import random 
def foo(n):   
    random.seed()
    c1 = 0
    c2 = 0
    for i in range(n):
        x = random.random()
        y = random.random()
        r1 = x * x + y * y
        r2 = (1 - x) * (1 - x) + (1 - y) * (1 - y)
        if r1 <= 1 and r2 <= 1:
            c1 += 1
        else:
            c2 += 1
    return   c1 / c2

 A.4 / 3
 B.(math.pi - 2) / (4 - math.pi)
 C.math.e ** (6 / 21)
 D.math.tan(53 / 180 * math.pi)
 正确答案:B

5.假设可以不考虑计算机运行资源(如内存)的限制,以下 python3 代码的预期运行结果是:()

import math
def sieve(size):
    sieve= [True] * size
    sieve[0] = False
    sieve[1] = False
    for i in range(2, int(math.sqrt(size)) + 1):
        k = i * 2
        while k < size:
           sieve[k] = False
           k += i
  
     return sum(1 for x in sieve if x)
print(sieve(100000000000))

 A.4118054810
 B.4118054811
 C.4118054812
 D.4118054813

 正确答案:D

6.请你简要介绍一下python中dict和list的区别,以及dict的内部实现方式

Dict查找速度快,占用 内存大,
list查找速度慢,占用内存小,
dict用大括号表示,list是中括号表示,
dict的内部实现是hash表,dict是一个数组,数组的键是通过hash函数处理后得到的,
hash函数的目的是使键值均匀分布在数组中;
dict是无序的可变可迭代对象,list是有序可变可迭代对象

7.有下面一段python代码

def count():
    fs = []
    for i in range(1, 4):
        def f():
            return i*i 
        fs.append(f) 
    return fs

f1, f2, f3 = count()

如果执行f1(), f2()和f3(),下列说法正确的是:( )
 A.f1()执行结果为1
 B.f2()执行结果为4
 C.f3()执行结果为9
 D.其他选项均错
 正确答案:C

8.在python中, 进行下列算式时, 可能为假的是:
 A.true == true
 B.0 == 0
 C.3.2 + 3.2 == 6.4
 D.1 + 1 == 2
人家说可能进度问题,所以c
 正确答案:C

9.下面关于Python的语句哪个会无限循环下去:


A.
for a in range(10):
   time.sleep(10)
   
B.
while 1<10:
   time.sleep(10)
   
C.
while True:
   break
   
D. 
a = [3,-1,',']
for i in a[:]:
   if not a:
   break

 正确答案:B

10.关于Python的字符串下列说法错误的是:
 A.字符应该视为长度为1的字符串
 B.字符串以\0标志字符串的结束
 C.既可以用单引号,也可以用双引号创建字符串
 D.在三引号字符串中可以包含换行回车等特殊字符
 正确答案:B

11.下列哪个python语句可能会在运行时报错()
 A.print 2, 3, 3
 B.print ‘?’ * 233
 C.print x233
 D.print 0x233
 正确答案:C

12.python函数中支持args和*kwargs。
关于二者的区别以下说法错误的是:
 A.args要位于kwargs之前
 B.kwargs是将相应的传值以字典形式呈现
 C.args是将相应的传值以list的形式呈现
 D.kwargs表示关键字参数
args是将相应的传值以tuple的形式呈现
 正确答案:C
13.在考虑到并行计算的前提下,假设初始账户为10美元,阅读如下python代码片段:

def make_withdraw(balance):
    def withdraw(amount):
        nonlocal balance
        if amount > balance:
            print('Insufficient funds')
        else:
            balance = balance - amount
            print(balance)

    return withdraw

则说法错误的是:
 A.结果可能为3
 B.结果可能为2
 C.结果可能为Insufficient funds
 D.并行化代码会将代码行分配给多个处理器计算,与变量读写顺序无关。
 正确答案:D

14.知识点:Python 10/10(单选)
What is the output for the LAST print?

def f(x,l=[]):
    for i in range(x):
        l.append(i*i)
    print(l) 

f(2)
f(3,[3,2,1])
f(3)

 A.[0,1,4]
 B.[0,1,0,1,4]
 C.[3,2,1,0,1,4,0,1,4]
 D.[0,1,3,2,1,0,1,4,0,1,4]

一个函数参数的默认值,仅仅在该函数定义的时候,被赋值一次;以后调用时,如果传入了参数,则用传入的参数,如果未传入参数,则去默认值的地址查找值并使用
 正确答案:B

15.知识点:Python 9/10(单选)
Which of the following can not create dictionary
 A.dict1 = {}
 B.dict2 = { 3 : 5 }
 C.dict3 = {[1,2,3]: "uestc”}
 D.dict4 = {(1,2,3): “uestc”}
需要牢记的第一条就是dict的key必须是不可变对象
 正确答案:C

16.知识点:Python 7/10(单选)
What is the output of the following code?

def foo():
    try:
        print(1)
    finally:
        print(2)
foo()

 A.1 < br > 2
 B.1
 C.2
 D.None of the mentioned

 正确答案:A

17.知识点:Python 6/10(单选)
What is the output of the following snippet of code?

total={}
def insert(items):
    if items in total:
        total[items] += 1
    else:
        total[items] = 1
insert('Apple')
insert('Ball')
insert('Apple')
print (len(total))

 A.3
 B.1
 C.2
 D.0
 正确答案:C
18.知识点:Python 4/10(单选)
What is the output of the code shown below?

a=re.compile('[0-9]+')
a.findall('7 apples and 4 mangoes')

 A.[‘apples’ ‘and’ ‘mangoes’]
 B.(7, 4)
 C.[‘7’, ‘4’]
 D.FALSE
 正确答案:C

19.知识点:Python 5/10(单选)
What is the output of the following code?

a=10
b=20
def change():
    global b
    a=45
    b=56
change()
print(a)
print(b)

 A.10< br >56
 B.45< br>56
 C.10< br>20
 D.45< br>20
 正确答案:A

20.知识点:Python 3/10(单选)
What is the output of the following?

i = 0
while i < 5:
    print(i)
    i += 1
    if i == 3:
        break
else:
    print(0)

 A.0 1 2 0
 B.0 1 2
 C.error
 D.0
 正确答案:B
21.知识点:Python 2/10 (单选)
Which of the following is an invalid statement?
(下列哪一项是无效陈述?)
 A.abc = 1,000,000
 B.a b c = 1000 2000 3000
 C.a_b_c = 1,000,000
 D.a,b,c = 1000, 2000, 3000
 正确答案:B

22.有一张图灵奖得主的肖像照片,被一个学生用简单的异或加密方法,编码成了如下这样的字符串:

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``6``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

已知肖像照片是64x64像素的0~255级灰度图片,内存中用raw bitmap方式,每个像素用一个字节存储。对肖像照片的原始数据,学生使用的加密代码片段如下(Python3代码,代码中的key值是未知的加密密钥):
1)请问:这张被加密的照片,是以下哪位图灵奖得主的肖像?()
 A. Marvin Minsky
 B. John L. Hennessy
 C.Donald E. Knuth
 D. Raj Reddy
 F.John McCarthy
 A.Edsger W. Dijkstra
 G.John Hopcroft
 H. Alan Kay

 正确答案:C


Donald E. Knuth

(2)请写出本题解题的主要思路,以及解题时使用的主要代码片段。


from PIL import Image
import base64
import numpy as np

_KEY_LEN = 2

originl = '''MG4rZiJpImkvaixpLGwrbjRxN3MxdzN3M3s + fTl9OX4EQgdCAUkCSQxID0sJTAtQF1IRVBNWE1sZWhhcGiBnJStrImUmZSFmLGcgZixrKGoobypwKnIwdzJ0Mns / QANCOkAEQQFGAEYMSAxID0oJURVTEVURVhJYGVsYXxheGiIvZSdjJ2MmZyNnI2UvaiNoL2wraitwN3YzczJ7PGstcTR3BEwIRgBEAkkPSA1JDk0LURZVEVQTVBxaH1wZXmUgJ2AkYyZhJGEnZyJiI2ktZi1rL2sobChwPkA7ctWz8ILCv9eeJHYMQgZJA0kMSQhKCFAUUhFVEVQQWhldGF9lXtqf22HanyWeJmAkYyZiImktZy1qLWgxbNSH / K / EhtJlKHYhg + GyIHwFRgBGD0sOTQlOFVIWVRFUE1YZXRldGF / Ymtmd2GHan9uf2mAkYyBmIGcsZClkyJP7ufqJ13MSVANwNGong + 6
XOX8CRABHDE0OTQhRFFIRVRBUE1sZXBgh2JvfnNmd2JzbnNufJGElYyBlJmg3lC13NHXVkT9c2Y3eidiW23IVSDtuMEcARA1JDUsJTAtTFlURVxNZHl0YXN6a3Z3cm9ma2Z3YnNie2p8kYCd5KnUWdSdt0ogdafTYn5IodyhGfg9rTD91OkcNRg9NDk0LURdSEVUQVxJbGVzflt2V05jemt6b2J3cndic2pw2ejFFI3Mhc9RxPmDTtChObysYJW84RioddzNCA0YNRg9KCFEUUxZSEFQTWBlb05LQk9OV3ZvSl9 + a3Jvend2YNW82djFlJZ3XSzVjylR1RxFPGzBoOGpeE3wyfzpHAEcMSwhOFU4WUhFVEFcfWteS1pTWkNCW05vdmd2a35 / Ujy9nLGU + h8mUM0Y9RB5OCkcVWAhLGjBpKg5qNH8 + fgFGDUYPSglNFVIXVRBUEF3XkNeT1pPXlNKU0ZLSm9yY3I3YY9aU2mE2YC5nBSwAbDJ9AmbZcwlRB2bVlSh6PnwERANJDUsJTwlQFlUWVBJW15HXkNWR1pPXkdeR15XcjP6LJJ / acdJBC2kkvD9HJZfTbM2w2mzZYNKogLU + kzFDBUADSQ1IDkoOTBVTFlQTVNSR1Y / KjtSS1JDWkNWbyrHef9idPU4FVT6f27komNCQyYb5h8qF + LLo3oL3 / Wk3eztABkICRgJLCEwVUxZVEFfKkcqPy5HLkNeMyJHXif9obnk4QApTZFgxYMSa3pXdtce48rTto / Ww79S5 + 79l
A3Q5fAdCAUYCRg5MClEXVRBWyYzIi8iQyY3VjM6P1L7QKBFwE1xuJ29BMmDNZcOXxar7sOqimNjnrvSxn8 + B2TxAPnw4QAZFAkgMSgpPFFIWVc2JworOi8 + NyYvMivhhFyQ / WG4gewcbcQJlxJDQjPSNz7n5gv60 + 7
nnpZrWmsfBQj16OUEHQgBGDE0ITgpTF1LCgsGGwoXCiM2FwYwlb2cmPyxuJkM / FUAUl / FhNZ / Xk / m7woH8tOq29q7 / vfXb5HM4ez97BUAGRAJJDEwIUBdSw4TGg8KEwYfMg / iMPkgRKWk2dAFFJgxJK7jpvc6fJbzjq / el77n4u8G876We246XAHU9eztBB0cCSQ9KCUwUVcCHw4DNhsGEwYT4gDgoFFp0N38uZEYGRdWl4a3vt8a7 / qjxv / Sq5c6K2pHQiMS6tAd3PXg8fTpDBEcMSw9NFFPGgseFw4TAhsaD / oNgAA1aEzF1UwZtLWnIoOOs6LnxvcO5 + rGS25LKus / s0o3MuMszQjB5P3o4QARFA0sJTQpQxIDEg8WCwYPGgPWRQA0GVxBNPWwLY9mV + Ln / s / Wq + 4L
zuveh596L2JzN7rzrp5b4 / X0 + dj94PnwERA1GDEoKTvq + +oHGg8eDx4Pom00JBEkYcCNuD2ItbPuFz7n + tfK58rr0oJHEm4H3uva / wonCqpmUP3Y9eD59OkAARgxLCE77vP + / x4HEgcWB6JdIPhZEEkQNSDCaJ2Unl9aHwoj / gPKt7siPiNmGOFEii8xnP3nQiyh3MHk4ezl / B0YNSA9M + br4vfuB + 7
z + vv6wRxRtfxRPF0QyZSlnPXLfl8 + F + bfp1ovc13EnQmhaMpTIexsx2oIreDp7PXs + fgZEAEYPTf66 + br7vv66 / r3E2gseaFEWRA93IWU6RjlALGPUgfmt6qmWjjhrBV0cIh1m3FRtRsOLNHcxcjJ9PHwGQgFHD0r8u / m6 + br5v / u9 + 6 / NO3kpE3s2fy5tA1AIRT9m0ov5rf69JHfbazJHGzlia90kHC4cZyJpKng8dzx9OkABSQxL / bv9uPy9 / r3 + vPi7m0xMNGpSOHYtbwVXG0QwntWJ6bjccBWR2ihBPlANGHfeRGoMHGshdgd5Nng8ezlBAUgNSvO28rb / uP67 / 7
byuZtIF7rfV0YGRSgOTxFDM3EglPiaMEMpfWkWWhxjeh0m17s4lclo33A + dTB7PHg4QQdHAkjyt / O387bytvy3 / bfojvDZlakBPUk4fCJtIDdlIGIgcQ1BNikIUA9XKmlpKCnWlnHFliNuMXExdjx4OEAHRQJI9rT2svC28rjzt / 236L
EHJB9v6Is6VwBsAyEEq5Le7Z8bWTdn3ZfCiTlZeFQAjIa7 / 748
ZipzM3YzeDh / BUQCRvGz8bPwufG287Xztuy0EScaKwJgPVc2aytlMmnu1uuL32nTmtKOI38teGBEA4 + P / OzY1m0ocjB3Mns8ejtFAUf2s / Cz9LX2svOy9rbqpAwzDUFtXAVEFlgUbMyPNZjz1rqo2WnSg9tmJHwPcTSos8OCp8tuKHE3dDx7P38FRQBJ8bLosPSz8bX2tfGy9aAtX9hKSjUPaD5aHncngtx / K6W4xOiR3WXYssZ4P3ou14fJhrYwai5sMHQwdz5 / OkUASfWx66 / 0
tPGw6q71r + uq / IvdM0Ig04M5XAJAPWDUjwFl + oCYsceD47LSeAx + INCa3Zq9L2oubTZ0M3Y5fDpAA0fqr + ut6rHqr / Wv9bHqsvyI5XVDK / uwAVQCQiqe3J81TQZAII / sofmRyVA5u + ivJmncmCNoLWw1cjF4P3w6QgFG66zpremt6bH2sPWv9oPwtsrd82w6kjFRF00wZytxMn8DTT11y7XyrikkOXUDRjtyJp4paSxsNXUxdz9 + BEAHRemt6a3rsvWs9LPqruiggNE5b4DUyn4OUR1IP2o8fCCfMUcIT97e65wGbh4NUwZydPeJImgvbDVyM3k / fzpAAknoremq6rPqrfWs6LeI / ilRNWswaNNSGV0efD1yKHU0ay1AFX34t8h5Ko4oVw1WSESZuyFqLW00czF7OX0FQgBL6a / pqums6a3or + mz5PDrcCWaAH0BewFdZkkzdCqYN24tbypo0ZUgQMiMJZzIfAN4zYIsayxsNHI9eDx + AUUAS + iq6KruqOms77Hqs5v + r + / wuz9HKW9lWhJEM2slbCOdI2crbdidDW / NYS2UIUTQn9 + dLmkvbDVyMnk8fgBHDUntq + mt76ruq + Kx9bfvxYbr6K73cj5eeiUOQzuc2notYydqOWwmfwiSIkI6dw57KnwqhNhwKGordz99OX8GRgJF7KnrpuCo7afhp + uZPdil5ZyQk9sDKGArHX0ybyJtP3kocDV2NlsRRAJNEiRmJGszParwkypvNXY + fDpAAEQAR + 6
r6avmoem48a7InjpgteS7h8KqDylmJAl6A3cgQAF7PW4ibTsgRwZCCU4PVAQRbiqEzLPddTd4PHoEQDtDA0buqu2q9IHUl8uK05LffvLlo6LNQmteZlUXXTt1PkUycSl1NGgyJlYBayxhSzBl0Z0zmtuYzXAydz16OkE6QABH7qvnrcKTyI / Xh8eGyWUo0aHF9kR5JB9RDCYLdgx9NHwxezpvOShrQjl6N3ImZtqX2WzbatNrOXk8eztBBUAAROyj6ITLhsKEw4fNh82MLJuE5YhNdCsaXhEicUoRTQVCOX88RBUmCHgLUztuKH8siPGAMn3eYAZ5Pnw4fgRBBEXntNWNzInJgfmM1pHWgMJ00P + mqBglbyJlUmotbyUHSgJ / DFkKIBx9FCEEbS91KY / r3zR + I6ggSTB6OH46QQdC / ZfRiMCAw43Dh8uM3pnPljqCs + H + KmAgGUkWMngAaUsHSBdSAVBmVgd4AnMxZyyay7zaQQ3ftXcCdjh + O0EBQ9GY35vNu / 6
Hy4jEh8idJYwkfsTzpYtiIRBGBF1FDUFdA1EfIxFJFiUIajJ1PXg9ZtiVNlIWt6XYAkA4fgVDB0LRkNeb3JPLiMma0YTDkCJz1nUDjbbh8StkRQdFGzZ9NGdfY1tlWR0pFUcDSTNNAW4 + ZQ1cZ72l5stQOUE6QgZBxovMkSWY2GbdjiNy0YTdbypgO23 + 86
XYdioUTgtVGyloI28jdVZnJmRSAn4zUBtSMGQQI2 + / pfCKQwZBBUAEfh5KPpbKm9tsIprTfguewGEHZjadyLaz4YEFcVYWQQNPE1VmLm1cZSAYVAxfbysYTAR + YCZsu6HBpJsSfgdDOHotZwROC2wlaCRrJ5cUJSmUPkEhZ8RijtgvQEc1FkoAfTlEHFEWIxxfZFphKWk4CF53SWksa7 + h06vaCUA7QTt6peGpoDVXDHAsbDhrLCMSmi9IPWi + YzePVJv5OXdRAHw7RQZACVESWgFQRzxGFxoqRUZqM3KNoMiV4N9QMXsFf7DzreGlpx9TLHcAUytAd0XaShlrpc9waCZNgJtDIBVMDEgGTxxVAnIBL1cUUhdmJnlXczV8iKvzgPDnUjJ3Onyx87fyqOGqfhp5PkYPc24uNEAbUJ3hzi / NldO1fTAXVxZNFVcaSyNQej9XFU4Idyp2IHI1fI + gwYvMv2gMdj95sfOq8LD3pfsXTS1zCXwONAx7ZyLe4aX5xUk9kRMBFl0aTxg5YGgKEU85SxdBAkctayVwMHu9pM2T1remC3s9drbvqeyo7LfhuksInj1HPyxhdRgoAarVlXYeFmnfL3IlElRwPhtobxVDN0MXTQNNMmoueTZ7vLnNkc + M + jZBPXix + bj7tvS286X + F1IpdTBXc30XKDg3Wh5DLHV7ynxRLw1ZeV0AfEwNRzZGF0g9QTJ3OHg9cbqQwZHdm + zHSzx7hcKAopnypvy44eEwAmg / QXVSAykfIHoDfXkZOyiFbjQ / JmtF315ZB0U7RhJLNEUwaTR + CQvfn8Pk15j3nkQyeb / 5
t8Pio6rxjcWliHB5KXNqKDclcVBiBEYENlxGe8xSYSwIRzA7VwBGO3sTQjlELGMzfQ4oy + zYnNvmyrNoB3ix + 7
zloqHI1aHFvuEBLzN5bjw3VHshEyxrA3eILS0afmMEGEMSFUwFey58EUsDeTBiNEk18aGaop7N49 + lggt5uPy587XgkL + J8Y7ovyQeQxEyClNzLxdMbV19J / 2
DGjdFCQpiRhZDAnoxegxVPnYwGDRcfpOw7aKeyOGnrNMFew =='''

key = [254, 161]

new = base64.standard_b64decode(originl)

print(new)

print(new[0], new[1])

img_show = np.zeros((64, 64))

for i in range(64):

    for j in range(64):
        img_show[i][j] = new[i * 64 + j] ^ key[(i * 64 + j) % _KEY_LEN]

img = Image.fromarray(img_show)

img.show()

另一种写法


import base64
import PIL
from PIL import Image
res = 'vOy67L3rveu667rsveu97b3rveq67L3qvey67L3rvey77brruuy667rquuy667zrvey97b3quuy66rzsu+u967rsu+u87L3tu+y96r3svey77Lzruuy66rrtuuu97Lvtuuu77b3svey67b3sveq67L3qveu67Lrsuuy6673rvOy77brsveu96r3suuu967rtveq67L3sveu9673quuy967rsveu767rsu+y967rsu+q967rsu+q86r3suu267b3ruu267Lvruuy67Lvtveu6673ruuu967rruuu97brru+y/6b/ovui67rrqve277L3suuu86r3tuuu6673svey967rsuuy66rzsuuy97Lrsveu67brruu286Lzpvui+6L7ovui+6L7ovui+6b3rveu87Lvrveu87Lvtu+u967vrvOy67Lvruuu9673svey967rtu+267Lrovui+6L7hp/OSvsmZ0JzDguqpoOi+6L7suuy6673su+y97b3uuuy867rsvey667vsuuu6673suuu967vsuOi+6Pm354MucwIlbAxPD2Q/aAJGAAiR5sa+6L3uvey967vtu+u67Lrruuy97Lrsu+u97b3suuy66bzsu+y96L7oillAFUUEVzR9KntUEU0kR3RUH0gjRnUuKc6+6bvsuuy6673suu267Lrsuuy67Lrtuuu97b3tuuq97bvsvei7i0cXVzpzKQtYF0YZWQRIM3sdTDRsL2QzdQBNjOi+7L3su+y87bvrveu87Lrsuu277Lrruuy67L3qu+y66L/AJx5MP2glBUcfdSNFEHEYQTJvMnkwYD1tOmzHayPVvui967rsuuy7673suuy97b3uu+u67Lvru+y67L3rvOypdkIEcSJ7VxZwK3UhdRx0M2c4lTxsNWnFbzaTxZLGaIHovu277bvsve267Lrrve277bvsuu2967rsveq67L76/SRLN2grF04RdSt/K2Q0Yz9pL382ajWVy5rCYMCZ0YzPyb7su+277L3suu2967ztuOy667rtuuu97Lrsve2//8UhYD4EdxxADkQfdyxjwYbUkDtuwJrNazyTyWo6hdmP27ev6Lrsuuu67Lrsuu297bruu+y97Lrru+u7673rvvDbVmVQHE4OWQ5DHH0yYcafxJc8lsmc0IXWj9WRN2vWte2P6+S+67jtuuu67Lrtvey77bvsveu77L3sveu67b3olSkGWnwueSgJQCthO27Nhj6VPmnBbcSA2rTbmOKIz4rwu9Oqvui67Lrsuuu967rsu+277Lrsuuy67Lrsuu296MU/CS9vO3EmAkAuazie1oQ2YTdtwo7lmsuK56b6vd2K4bnmj6Louuy47rrrvey667vuuO267L3tuuy77bvtvtpjKHIndDlzIAd3N2nMtdCXN2zFju+9157cu/Wg8qH6r9y0946C6LzuuOy77Lrsveu77rvsuuy767rruu696b6aX1RyI3IjfkUleTSc4YvKYjNlxLDSm+mi877yrvit8KT7uPmw7/6+7rvsvey97brsu+677Lvrvey67rzsu+i+c3NXciZvIQ5/Ikg1iOOexX7BZC6f1NyKpOOw/KTurIuo/KH2veDYuuq77brsveq97bvvu+y67L3tuOy87LvonTp6L3cnbiIQdRZIyoHXjMNkPZbAkPTU4Ircoei28aKD0eyk9L7eoK3ouu667brsvey47rrrvO267brvtui+6OkEcC9/VXpQIHUWec+Z2r/AZyeG27jqj+aI2rXvpIDTgNbtooC53rSi6Lvsveu67brsuO+77Lrsuuu977fovuk2B24rc10KTxxCBpbZmdqNNnZ9f9e14aPfmOmpgMSNqfyo/K/9puCNmOi67bzru+y67Ljuu+y97LrsveunoejTGCQEVnInfi0ORhuc3I3ruN+L1biQ1ITa7qb+qI/Q/6L51/rV97/ejJPouuy77bvsveu577vtvey67b7vrYgvZw5RAHTEgoryrOaz4r3ovui+6L7ovui/5LPhp9mRqP7ShK361PW/2ISS6LvtuOy67L3su+647brsveu97L7YwW4WZY7LpP6/6KvmtPis+ajNkcX2rpfBmcik5L7grPOF0oavgKP1p9Voh+i67rrtu+y87bjuuuu67Lruvui+4/uD7sjcZOjIsrMnh/ei2rXQdjBrNIqHx5nJnfCJkdHPpsf/1oGp+bDZYInove297brsvey57rvrvO277LPzms6cqLHyA3HJq7PN9aKO2dRsx5zNiZH2m8qgyZ7z+NnTkZ/1hquA0Pm4356e6Lnsuu2667rtue+47bvuv+6b3pr+nua2+qnx8pmS76vwkNbkfMGM3MGr9aD2ncmh9qPgsbr7wJfQhNf7qd2Asei47bruuuy77bvuuu277b3rqvOx46bnt/S15aTXg+eY86rnoJI2oJbzn/eU3pHAo/Wc/6eI+MaUxo2qgdbPubzru+267brtu+y47bvtuuu96bTnt+Ol4tu2qcfmZvDFKm6A5ajYj/WnyaHP+d+UwKPxo+X+T/3CjNmN1P+i0cq+77nvu+277LrsuO6467rtveu85rP8sM19taOOBBfdvW9mwGP2/qb1nven94bclc6k/KThqWDrwYPbj92Cvtzmvu277brsuuu67bjuu+u67bvsvuSw57ptbY6Buj1q1U8mdQpN7v+iyJ7ynqjtuYzNpPag77Sa38aC0JHDl6GV6Lrtu+297brru+y47rjtvey67Lzsn+6cBTHX6KWZwzBYLGHGi/jIpcii+4KE17+NyJ3Ctej5Y+3aitf4rP+mr+i57rntvey97brtuO247r3quu666KbM1D7fkAZr62/GmObdi9qd86T3k8H/iNetlM2X5a6u35v2ypDX+LjfkpbovuC47bjsuuy97bjuuuy77L3tuO2+75eT547koplmQVM2jfbRh9uZx/q73LTp35nCo+7srpWflP+c24Kq9bWT/qrouu+57Lvsuu2477vsu+y67Lvvu+i+08fxsfeZn2tdKGo/ejSB/NX/suGk/qCKwKv7ktzYrrH8pM6Qx4uo75Lf7b/uu+677L3tuO267Lrsu+277LvuvqVRb8RvJk0PQzKYy34/vv7f/IPw1vmoj8qo+4qfh+Ou+bfmltbzveSIwMi+77jtu+267Ljsuuy67Lztu+y77L6lQzV0PQFAB0MznsFj0qKHwva9gtf80or1nNTs2bfku+mrx/ql7rjssD6rvuy77Lrtuuy57brsu+297Lvtuuu+p11MKkkMVQ1HKGrBmuerit+A3/nT+6GKypbSmOS665y2xq+Eqfm85bHUnq3ou+247brtue647rrsuO677brsvtZovPuo7WwcWR9vw47v1Y7S+K71o/bdkM+Y8Ljoo4wrlvWv5bzuvuSI1GGG6Lrtu+y67bjtuu2467vtu+247L7YfGougoGIKF4RbMyJ992Pq/Wph6P23JDApeystCNr5bHTnuKv74nWt/OJ/Oi+6LvruO657L3tuO277LvtuOu+1gRk1aTZcwktEm7Qv/rajKH10orSgtOa5K6sLGfrtzaV0rLqgdK9/9CFsuPlqeO+6rvtue267b3suOy47bvuvvoWWsiYIFoAWRpq3KT8o/yu8quK3YzxpaMwZOO5zGI9mdicPon83IW75qPoiMKZpui/7rntuO277Lvtu+64677kKRp5Rg1fBCgDctul77X0oIDclPytqi9cxbTMkMWXPm4yj4r2g77es+q14IHUazrDvui47rrru+267Lvuu+i+vGwxFk4IVXQ4fULEt9C25qaL/7TGwUcxj9BlOo3IYiJl8/+o2YGg963ggua+6r/RZ/rouO297Lvsuuu47brsvqlSLC1+GiFzLQV8LmI8nOvHqvzcTjGaz5c0YMaNNHDby6rD94LBbsqaOGs7ZMWE4Ys2prvtu+277bjuu++47b7GTkU7ewgyficTYBdmzYr/yZSZJoHMbz1pPpzNYzS5o8vWcgImZToKWBNCFE8WSiqS15657rvtu+267bjuuO6+x2BHKEdmPwBfLHcnh9S8gqbUmdCfOm7DmtOSKoqcwfV7ajdkLAQsCWQndSR8LmM3bT6euOu77Lrtu+247bvsvsFtVCArcC8EcSVOxIfapvWP24zPkcuY1IHLjpDygZ8bOmE9aD11LBmTNksZdSV4OGw9a7jtuuy97bvtuu247b7nEFcgV35eGnsmYNu69L3itt2A0YLfiOW+4rzkQXNWcA1kPWcwZjgqkjR/FEMneidzK2+57rrsu+y97Lvtu+6+7cMMHUEEfTRxxbf3oumK147agdWA5K7aYCEkWzh+Rmc0aTpoMVw0JpE1fidEIZbEaTN5uO+767vtuuy47rrruuigLXJ0Lmkxe9Sm6I3VhtCD14HStP2afjRlIHwvGlRhO2k4dCZjLjRsNnIecxtwwobbjbvuuuu77brsuu667rvqvsLpsD9yI5TjjNmYzIbXgNaF4qg3N2omcSVnUgwxbSZsPHdVbF04Zy9zGUksSSdgPJi47brsuu247bvuu+u47rrovuD0n9mM2pjNh9KC1oDTjP5nWDppP3EycCtoMmw8aT9tV35MLXUhSh1CK2YlYz17uO677bvuu+y77rvtu+257r7oveKam9a11ITYjN2O2tc8Dmw2XDxlMGo2aiRyOnQgeCwXexx2KGctfzFuMGHIlbntu+y67rruuu247L3tuO+57r7o/27is92Z04DXhfuFWzlkDGMxZQxoUnQjei19KQgvGHAgYjtqPZTBk8OUzoe47brtuu267rvsuO297rjuu+266Jdr2ILXnceeybPiOmk6XTdjC1svKkhjPAMhelJ/LCh+LpXHlseYzIXVncyAue2967rtuu277bvsu+247rjtuOiufjufyI3NktaiGQhvCV8KUjYVkzklVi92OnkhbEU6az2b1Y7djd+N2YTZt7jsuuy97LjsuO247LvvuO647rvrvdU2a8qk+2I0nG0/XwhbBnNg2ZIAB14haTpzIABJPIzOhdOz77jrtNqJ5o257bvsu+277Lvuuu647rjuue677b7nMpPzx/J4y1dTN18PUCnQu8JQVgpwI3ZSejIJk8qK6IXMt+i47LbbsvCVue6767vsvey77rjtu+2577jvuOi4sW0zF9swUAUEWQpVAxOL9ZgBCmYifVUEK2EAK6bQnu6AyIjlvfGO1Y3Mb7juu+y67Lvtu+267bvtuO+57r7NlphLEE1JeQ5ICl4GWHfgpN5RWzh9J3shZjdcV9atz5Tvu9GK4L31jT9kE3u97LrsuO297Lvtuuu77rngtuiz1KNCajJmNVs0YAlSNy+w5bsgGmMoCixiNWUJaH/pot2b3KHpj+Kx+bHFW2V3uO277Lvtuu247bvsu++577jsgfvuNCU3XzRnNV4Lbmzot+hgTg50RxE4XTJnIwuT8LjYm9C997TptPGv+aXESA=='
encrypted = base64.standard_b64decode(res)
print(len(encrypted))
img = Image.frombytes('L', (64, 64), encrypted)
img.show()

相关文章

网友评论

      本文标题:python 面试题(6)

      本文链接:https://www.haomeiwen.com/subject/rxsgfctx.html