肖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)
==================================