欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

2020年最全python面试题汇总第05期(内附字符串8题及答案)

程序员文章站 2022-06-27 20:26:02
经过自己面试的经验,我帮大家对python的知识点进行归类,让大家能在最短时间内掌握核心知识点,更高效地搞定 Python 面试! 前两天发布的“字符串”面试题很有用,但有些朋友提议,能否有些编程题,今天它来了!真的是吐血总结啊 1.敏感词汇过滤程序,用户输入若有敏感词汇,则替换为"XXX"答:代码 ......

2020年最全python面试题汇总第05期(内附字符串8题及答案)

经过自己面试的经验,我帮大家对python的知识点进行归类,让大家能在最短时间内掌握核心知识点,更高效地搞定 python 面试!


前两天发布的“字符串”面试题很有用,但有些朋友提议,能否有些编程题,今天它来了!真的是吐血总结啊


1.敏感词汇过滤程序,用户输入若有敏感词汇,则替换为"xxx"
答:代码如下:
get_input = input("请输入>>>") if "罗志祥" in get_input: print
(get_input.replace("罗志祥","xxx"))

2.水果店里有一堆水果,“苹果5个,香梨4个,西瓜3个,哈密瓜6个,桃子3个,桔子7个”,写个程序,统计一共有多少个水果?
答:
fruits ='苹果5个,香梨4个,西瓜3个,哈密瓜6个,桃子3个,桔子7个'
sum =0
for i in range(len(fruits)):
if fruits[i] =='个':
num=int(fruits[i-1])
sum=sum+num
print(sum)
运行结果:28

3.利用下划线"_"将列表的每一个元素拼接成字符串
案例一(单纯字符串)
test="罗志祥劈腿厉害还是蒋凡厉害"
v='_'.join(test)
print(v)
运行结果:罗_志_祥_劈_腿_厉_害_还_是_蒋_凡_厉_害
案例二(数组)
test=['罗志祥','马蓉','蒋凡','出轨王']
运行结果:罗志祥_马蓉_蒋凡_出轨王

4.用最简洁的代码,写出一个九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print('%s*%s=%s' %(i,j,i*j),end=' ')
print()
运行结果:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81

5.给你一个字符串 a, 请你输出逆序之后的a。例如:a=‘xydz’则输出:zdyx
方法一.循环方法
m = list(a)
for i in range(len(a)-1,-1,-1):
print(m[i],end = '')
方法二.切片方法
print(a[::-1])

6.用python编写一个程序,要求输入一个列表,返回值为一个字符串,字符串的内容由列表中各个元素拼接而成。
答:示例代码如下:
def concatenatelist(mylist):
output = ''
for item in mylist:
output = output + str(item)
return output
print(concatenatelist(["罗志祥","马蓉","文章","蒋凡","白百合","李小璐","洗头房vvvvip用户"]))
输出结果:罗志祥马蓉文章蒋凡白百合李小璐洗头房vvvvip用户

7.最大公约数&最小公倍数
输入两个数值,求两个数的最大公约数和最小公倍数.
1.两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数
的最小公倍数。
2.求最小公倍数(cm)的算法:最小公倍数=两个整数的乘积/最大公约数
num1 = int(input("输入第一个数:"))
num2 = int(input("输入第二个数:"))
min_num = min(num1,num2) #两个数的最小值
#找出两个中较小的一个数——min
if num1 >= num2:
min = num2
else:
min = num1
for i in range(1,min+1):
if num1%i == 0 and num2%i == 0:
max = i
print('最大公约数为%d' %(max))
print('最小公倍数为%d' %((num1 * num2)/max))
输出结果演示:
输入第一个数:5
输入第二个数:6
最大公约数为1
最小公倍数为30

8.检测大写字母
给定一个单词,你需要判断单词的大写使用是否正确。
我们定义,在以下情况时,单词的大写用法是正确的:
1.全部字母都是大写,比如"usa
2.单词中所有字母都不是大写,比如"leetcode"
3.如果单词不只含有一个字母,只有首字母大写,比如"google"
否则,我们定义这个单词没有正确使用大写字母。
示例1:
输入:"usa
输出:true
示例2:
输入:"flag"
输出: false
注意:输入是由大写和小写拉丁字母组成的非空单词。

答:示例代码如下
word = input('请输入单词:')
print(word.upper()==word or word.lower()==word or word.title()==word )
运行结果如下:

请输入单词:usa
true

请输入单词:google
true

请输入单词:flag
false