随着测试行业的内卷越来越严重,测试工程师面试的时候被问到越来越多的开发题目了,比如说一些通过编程解决的逻辑问题或者开发语言的基础知识。
本文就分享一些面试常见的编程题目:
1.编程实现:有四个数字:1、2、3、4,能组成多少个互不相同且⽆重复数字的三位数?各是多少?
def sws():
e=[]
for a in range(1,5):
for b in range(1, 5):
for c in range(1, 5):
if a !=b != c and a != c:
f=a*100+b*10+c
e.append(f)
q=len(e)
return(e,q)
2.编程实现:计算一个字符串中每一个字符出现的次数。
def cishu(str):
str1 = ""
for i in str:
if i not in str1:
str1 = str1 + i
print(i,"出现的次数为:",str.count(i))
str = "wertyuidfghjkcvbnm,ertyui"
cishu(str)
3.编程实现:对一个字符串,去除所有重复字符后,根据字符的编码按照从小到大的顺序排列后输出。字符串 s = “ajldjlajfdljfddd”,去重并从小到大排序输出”adfjl”。
def we():
s = "ajldjlajfdljfddd"
a = list(set(s))
a.sort()
print(a)
4.编程实现:冒泡排序。
def maopao(lie):
"""
接受一个列表,返回这个列表从小到大的排序结果
:param lie:
:return:
"""
# 进行len(lie)轮比较
for i in range(0,len(lie)):
# 每一轮从第一个元素开始,到倒数第二个元素结尾
for j in range(0,len(lie) -1 ):
# 如果前一个元素比后一个元素大,则交换二者的位置
if lie[j] > lie[j + 1]:
# 交换
t = lie[j]
lie[j] = lie[j + 1]
lie[j + 1] = t
return lie
lb = [456,365,789,2231,412,126,1455,1231,123]
a = maopao(lb)
print(a)
5.编程实现:对一个列表,将这个列表的首位之间对称位置的元素互相调换位置。(例如,第一个和最后一个,第二个和倒数第二个)。
def huan(lie):
# 确定交换次数:列表长度的一半-1
for i in range(0,len(lie)//2):
t = lie[i]
# 使用最后一个元素的下标-1 - i进行倒序的下标取值
lie[i] = lie[-1 - i]
lie[-1 - i] = t
return lie
lb = [465,789,456,489,132,741]
print(huan(lb))
6.编程实现:判断一个字符串是不是回文字符串。判断一个字符串是不是回文字符串(不管是从头开始的字符,还是从尾开始的字符,都一样)。
例如字符串“12321”就是一个回文字符串。
def huiwen():
"""
:return:
"""
zfc = input("请输入一个字符串:")
l = 0
r = len(zfc) - 1
while l <= r:
if zfc[l] == zfc[r]:
l = l + 1
r = r - 1
else:
break
if l > r:
print("这是一个回文字符串")
else:
print("这不是一个回文字符串")
print(sun())
7.有一个小球从100米高空落下,每次回弹上一次落下高度的一半。请问第10次落地时,下落高度是多少米?一共运动了多少米?
def ii():
'''
:return:
'''
a = 100 #第n次下落的高度
b = 0 #下落的次数
c = 0 #一共运行的高度
e = 0 #每次回弹的高度
for i in range(0, 11):
b = b + 1
c = a + c + e
e = a / 2
a = e
return a, c
#调用这个函数
m = ii()
print('第10次下落的高度和一共运行的高度分别是:', m)
8.编程实现:珠穆朗玛峰的高度是8848.8米,一张纸的厚度是0.001米,假如可以无限次折叠,对折多少次后,会超过珠穆朗玛峰的高度。
def diwuti():
for aa in range(0,100):
# 纸的厚度乘以2的n次方大于8848.8结束
if 0.001*2**aa>8848.8:
return(aa)
print(diwuti())
9.编程实现:键盘输入一个字符串,分别统计该字符串中大写、小写、数字、其他符号的个数。
a =input('请输入一串字符:')
# 设置变量表示字符个数
b = 0
c = 0
d = 0
e = 0
for i in a:
if 'A' <= i <= 'Z':
b = b + 1
elif 'a' <= i <= 'z':
c = c + 1
elif '0' <= i <= '9':
d = d + 1
else:
e = e + 1
print('大写字母是:', b, '个')
print('小写字母是:', c, '个')
print('数字是:', d, '个')
print('其他字符是:', e, '个')