测试⾯试常问算法题(python)
测试⾯试常问python算法
⼀些⾃⼰在⾯试⾃动化测试或测试开发岗时常被问到的python算法题,⼤多都是⼀些列表、字符串相关的操作,在此记录并和⼤家分享。所列出的并不是唯⼀的写法,⼤家也可⾃⼰思考答案,转载请注明出处。
1.写⼀个函数⽐较两个列表是否相等
a=[1,2,3]
b=[2,3,1]
c=[1,4,3]
a与b为True,a与c为False
看到这个有些同学可能会觉得直接判断两个列表是否相等不就⾏了,注意a和b虽然元素⼀样但实际是不相等的哦,直接⽐较是会返回False 的。所以这道题其实是想让我们⽐较列表内的元素是否相等,代码如下:
def test(a,b):
same=[x for x in a if x in b]
if len(same)==len(a):
return True
else:
return False
2.字符串和列表的相互转换
str=‘java;python,shell,c,php’
lists=[‘java’, ‘python’, ‘shell’, ‘c’, ‘php’]
字符串转列表,主要考察replace和split函数,代码如下
def test(strr):
#将字符串⾥的;替换为,
place(';',',')
#分割字符
lists=s1.split(',')
return lists
列表转字符串的⽅法,主要考察join函数,代码如下
def test(lists):
strr=','.join(lists)
return strr
3.给定⽂件的路径,返回⽂件名及所在⽬录
主要考察os.path()模块,代码如下:
python基础知识测试powerquery数据表类型有哪些
import os
def test(path):
filename=os.path.basename(path)#⽂件名
docname=os.path.dirname(path)#⽬录路径
return filename,docname
4.将嵌套列表拆解出来
主要考察循环结构和列表元素的处理,代码如下
def test(lists):
lis=[]
for i in lists:
if isinstance(i,list):
else:
lis.append(i)
return lis
5.打印出九九乘法表
考察循环嵌套及end=’ ‘,python打印默认⼀⾏,结尾换⾏,end=’ '意思是末尾不换⾏,加空格
如何设计网页for i in range(1,10):
for j in range(1,i+1):
print('{}*{}={}'.format(i,j,i*j),end=' ')
print()
6.查字符串中的重复和⾮重复⼦字符串
考察count函数
def test(strr):
same=''
diff=''
for i in strr:
unt(i)>1:
same+=i
else:
diff+=i
print('同样的字符%s'% same)
print('不同的字符%s'% diff)
7.出字符串中的回⽂字符串
回⽂字符串是指正序和倒序相同的字符串
#判断字符串是否是回⽂
def is_huiwen(strr):
s=strr[::-1]
if s==strr:
return True字体颜怎么设置vivo
else:
return False
def find_huiwen(str):
企业网站设计的基本原则有哪些huiwen=[]
for i in range(len(str)):
for j in range(i+2,len(str)):
ss=str[i:j]
多条件vlookup函数的使用方法if is_huiwen(ss):
huiwen.append(ss)
return huiwen
持续更新中。。。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论