欢迎大家来到IT世界,在知识的湖畔探索吧!
点击上方头像关注我,每周上午 09:00准时推送,每月不定期赠送技术书籍,小窗口回复“资源”、“测试工具包”领取测试资源。
本文3152字,阅读约需8分钟
Hi,大家好。站在九月的尾巴,即将迎来十月,今天分享10道Python常见面试题,如果想要获取更多面试题,可以在后台回复“面试顺利”进行解锁,如需本文源代码可在后台回复“py0923”。
Python多种方法交换两个变量的值
要求:用多种Python方法实现交换两个变量的值,如:a=20,b=30,交换后:a=30,b=20。
方法一:使用第三方临时变量
方法二:使用Python特有方式
方法三:使用算术运算符
方法四:使用位运算符
运行结果如下:
输入3个整数,由小到大输出。
要求:输入三个整数x,y,z,将这三个数由小到大输出。
方法一:使用列表排序
运行结果如下:
方法二:利用三个变量
运行结果如下:
方法三:依次比较大小
运行结果如下:
方法四:列表的sort方法排序
运行结果如下:
四个数字可组成多少个无重复的数字?
要求:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?并打印输出符合条件的三位数。
代码实现如下:
运行结果如下:
列表复制
要求:将一个列表的数据复制到另一个列表中。
方法一:列表的copy方法
方法二:列表的切片
运行结果如下:
Python输出素数
要求:判断101-200之间有多少个素数,并输出所有素数。
分析:
1.素数: 只能被1和本身整除的数。所以需要一个变量从1到本身;
2.数据变化的范围是从101-200 所以需要使用循环;
3.判断: 如果有一个非1和本身的数被整除则跳出循环,判断下一个数字;
4.如果循环完成,都只有1和本身能被整除说明符合条件,计数器+1
方法一:使用while循环
方法二:使用for循环
运行结果如下:
Python统计字符个数
要求:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
方法一:使用for循环
#!/usr/bin/python3
# @Software:PyCharm
# @微信公众号:ITester软件测试小栈
#方法一:使用for循环 或while循环
s = input("请输入一个字符串:").strip()
letters = 0 #统计字母
space = 0 #统计空白字符
digit = 0 #统计数字
other = 0 #统计字符
for i in s:
if i.isalpha(): # 判断是否是字母
letters += 1
elif i.isspace(): # 判断是否是空白字符
space += 1
elif i.isdigit(): # 判断是否是数字
digit += 1
else:
other += 1
print(f'char = {letters},space = {space},digit = {digit},others = {other}')
欢迎大家来到IT世界,在知识的湖畔探索吧!
方法二:使用正则表达式
运行结果如下:
Python打印斐波拉契数列
要求:Python多种方法实现打印斐波拉契数列。
分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、55……在数学上,斐波纳契数列以如下被以递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)。
方法一:使用函数
方法二:使用递归
方法三:输出指定个数的斐波拉契数列
方法四:使用生成器的方式实现
方法五:类实现内部魔法方法
欢迎大家来到IT世界,在知识的湖畔探索吧!#!/usr/bin/python3
# @Software:PyCharm
# @微信公众号:ITester软件测试小栈
#方法五: 类实现内部魔法方法
class fib_5(object):
"""斐波那契数列迭代器"""
def __init__(self, n):
"""
:param n:int 指 生成数列的个数
"""
self.n = n
# 保存当前生成到的数据列的第几个数据,生成器中性质,记录位置,下一个位置的数据
self.current = 0
# 两个初始值
self.a = 0
self.b = 1
def __next__(self):
"""当使用next()函数调用时,就会获取下一个数"""
if self.current < self.n:
self.a, self.b = self.b, self.a + self.b
self.current += 1
return self.a
else:
raise StopIteration
def __iter__(self):
"""迭代器的__iter__ 返回自身即可"""
return self
if __name__ == '__main__':
fib = fib_5(10)
for num in fib:
print(num)
运行结果如下:
Python打印水仙花数
要求:打印出100-999之间所有的”水仙花数。
分析:所谓”水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个”水仙花数”,因为153=1³+5³+3³。
代码实现如下:
运行结果如下:
Python对一个正整数分解质因数
要求:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成。
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可;
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步;
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
方法一:使用循环
方法二:使用递归
运行结果如下:
Python求1000以内的完数
要求:Python实现找出1000以内的所有完数。
分析:一个数如果恰好等于它的因子之和,这个数就称为”完数”,例如6=1+2+3。
代码实现如下:
运行结果如下:
如果想要获取本文完整代码可在ITester软件测试小栈微信公众号后台回复“py0923”,代码结构如下所示:
更多系列文章
敬请期待
我是CoCo,计算机科学与技术专业,深漂大厂互联网民工(女),坐标深圳。5年工作经验,3年持续输出技术文。ITester软件测试小栈(ID:ITestingA),专注于软件测试技术和宝藏干货分享,每周准时更新原创技术文章,每月不定期赠送技术书籍,愿我们在更高处相逢。喜欢记得星标⭐我,每周及时获得最新推送,第三方转载请注明出处。
想获取更多最新干货内容
快来星标 置顶 关注我
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/31541.html