肖sir__ 杭州软件测试python面试题和答案(1)

==================================

题目一:
1. a.txt 里面包含若干图片路径,  读入到一个 list 里面。


#这是第一题
class Test(object):

    def __init__(self,value):
        self.value = value

    def get_image(self):
        new = []  #定义一个空列表接受图片路径
        with open(self.value,"r")as f:
            file = f.readlines()
            for i in file:
                new.append(i)
        return new  

t = Test()
print(t.get_image())   

===============================================================

题目二:
2. 去除这个 list 中重复的元素。


#第二题
t = Test()   #拿到列表
list1=[]
for j in t:
    if j not in list1:
        list1.append(j)
print(list1)

===============================================================
题目三:

3. 写 2 个 python function:第一个function输入是图片, 输出是一个随机的浮点数。 第二个 function 输入是图
片, 输出是一个字典,字段是 width 和 height, value 是图片真实的宽高
import cv2
im=cv2.imread(img_add)
height, width, c = im.shape

#这是第一个function
import random 

def random_image(images):
    for i in range(len(images)):
        num = random.random()
        return (num)

t = Test() 
random_image(t)

dict1={}
def random_image(images):
    for i in range(len(images)):
        im=cv2.imread(images[i])
        height, width, c = im.shape
        dict1.setdefault("height",height)
        dict1.setdefault("width",width)
    return dict1

t = Test() 
random_image(t)

===============================================================

题目四:

5. 【扩展】搭建前端展示工具, 对4 中的文件里面的图片和结果进行展示

a.txt: 
`````
1.jpg
2.jpg
...
`````
==================================

题目五 :


5. 【扩展】搭建前端展示工具, 对4 中的文件里面的图片和结果进行展示

from flask import Flask 

app = Flask(__name__)

@app.route(/,methods="get")
def image_show():
    return render_template(t)

@app.route(/upload_images,methods="post")
def upload_images():
    f = os.path.join(path)
    #TODO
    #实现一个调用接口上传图片并且展示在前端页面的功能


1.启动flask服务器
2.通过http://localhost:port/image_show接口直接可以显示对应的图片

==================================

题目六:

给出一个整型数组 numbers 和一个目标值 target,请在数组中找出两个加起来等于目标值的数的下标,返回的下标按升序排列。
(注:返回的数组下标从1开始算起,保证target一定可以由数组里面2个数字相加得到)

示例1:
输入:[3,2,4],6
返回值:[2,3]
说明:因为 2+4=6 ,而 2的下标为2 , 4的下标为3 ,又因为 下标2 < 下标3 ,所以返回[2,3]  

示例2
输入:
[20,70,110,150],90
返回值:[1,2] 
说明:20+70=90

 

答案:

class Test:

    def __init__(self,value1,value2=6):
        self.value1 = value1
        self.value2 = value2

    def test(self):
        list=[]
        for i in range(len(self.value1)):
            for j in range(i+1,len(self.value1)):
                if self.value1[i]+self.value1[j] == self.value2:
                list.append(i+1)
                list.append(j+1)
                    # list.append(self.value1.index(i))
        return(list)
                    # return self.value1.index(i)


num = [3,2,4]
t = Test(num)
print(t.test())

==================================

题目七:

 

 请写一个函数,将列表中所有字符串类型元素中的"abc"替换为"BCD",返回处理后的列表。
举例:
替换前 = ['aaddgc', 'ddewsx', 'abcdees', 'abc', {'aa': 'abc'}]
替换后 = ['aaddgc', 'ddewsx', 'BCDdees', 'BCD', {'aa': 'abc'}]
提示:请考虑对输入列表进行类型校验

答案:

ist1 =  ['aaddgc', 'ddewsx', 'abcdees', 'abc', {'aa': 'abc'}]

def func(list1):
    res = ''
    new=[]
    dict1={}
    for i in list1:
        if isinstance(i,str):
            res = i.replace('abc','BCD')
            new.append(res)
        if isinstance(i,dict):
            new.append(i)
    print(new)

func(list1)
==================================

posted @ 2022-07-20 11:27  xiaolehua  阅读(118)  评论(0编辑  收藏  举报