经过自己面试的经验,我帮大家对python的知识点进行归类,让大家能在最短时间内掌握核心知识点,更高效地搞定Python面试!
前两天发布的“字符串”面试题很有用,但有些朋友提议,能否有些编程题,今天它来了!真的是吐血总结啊
1.敏感词汇过滤程序,用户输入若有敏感词汇,则替换为XXX
答:代码如下:
get_input=input(请输入)if罗志祥inget_input:print
(get_input.replace(罗志祥,xxx))
2.水果店里有一堆水果,“苹果5个,香梨4个,西瓜3个,哈密瓜6个,桃子3个,桔子7个”,写个程序,统计一共有多少个水果?
答:
fruits=苹果5个,香梨4个,西瓜3个,哈密瓜6个,桃子3个,桔子7个
Sum=0
foriinrange(len(fruits)):
iffruits==个:
Num=int(fruits[i-1])
Sum=Sum+Num
print(Sum)
运行结果:28
3.利用下划线_将列表的每一个元素拼接成字符串
案例一(单纯字符串)
test=罗志祥劈腿厉害还是蒋凡厉害
v=_.join(test)
print(v)
运行结果:罗_志_祥_劈_腿_厉_害_还_是_蒋_凡_厉_害
案例二(数组)
test=[罗志祥,马荣,蒋凡,出轨王]
运行结果:罗志祥_马荣_蒋凡_出轨王
4.用最简洁的代码,写出一个九九乘法表
foriinrange(1,10):
forjinrange(1,i+1):
print(%s*%s=%s%(i,j,i*j),end=)
print()
运行结果:
1*1=1
2*1=22*2=4
3*1=33*2=63*3=9
4*1=44*2=84*3=*4=16
5*1=55*2=*3=*4=*5=25
6*1=66*2=*3=*4=*5=*6=36
7*1=77*2=*3=*4=*5=*6=*7=49
8*1=88*2=*3=*4=*5=*6=*7=*8=64
9*1=99*2=*3=*4=*5=*6=*7=*8=*9=81
5.给你一个字符串a,请你输出逆序之后的a。例如:a=‘xydz’则输出:zdyx
方法一.循环方法
m=list(a)
foriinrange(len(a)-1,-1,-1):
print(m,end=)
方法二.切片方法
print(a[::-1])
6.用Python编写一个程序,要求输入一个列表,返回值为一个字符串,字符串的内容由列表中各个元素拼接而成。
答:示例代码如下:
defconcatenateList(myList):
output=
foriteminmyList:
output=output+str(item)
returnoutput
print(concatenateList([罗志祥,马蓉,文章,蒋凡,白百合,李小璐,洗头房VVVVIP用户]))
输出结果:罗志祥马蓉文章蒋凡白百合李小璐洗头房VVVVIP用户
7.最大公约数最小公倍数
输入两个数值,求两个数的最大公约数和最小公倍数.
1.两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数
的最小公倍数。
2.求最小公倍数(cm)的算法:最小公倍数=两个整数的乘积/最大公约数
num1=int(input(输入第一个数:))
num2=int(input(输入第二个数:))
min_num=min(num1,num2)#两个数的最小值
#找出两个中较小的一个数——min
ifnum1=num2:
min=num2
else:
min=num1
foriinrange(1,min+1):
ifnum1%i==0andnum2%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()==wordorword.lower()==wordorword.title()==word)
运行结果如下:
请输入单词:USA
True
请输入单词:google
请输入单词:flaG
False