23
2021-09
今天距2022年100天
这是ITester软件测试小栈第301次推文
点击上方蓝字“ITester软件测试小栈“关注我,每周一、三、五早上 09:00准时推送,每月不定期赠送技术书籍。
微信公众号后台回复“资源”、“测试工具包”领取测试资源,回复“微信交流群”、“内推群”一起进群打怪。
本文3152字,阅读约需8分钟
面试顺利
”进行解锁,如需本文源代码可在后台回复“py0923
”。要求:用多种Python方法实现交换两个变量的值,如:a=20,b=30,交换后:a=30,b=20。
方法一:使用第三方临时变量
方法二:使用Python特有方式
方法三:使用算术运算符
方法四:使用位运算符
运行结果如下:
要求:输入三个整数x,y,z,将这三个数由小到大输出。
方法一:使用列表排序
运行结果如下:
方法二:利用三个变量
运行结果如下:
方法三:依次比较大小
运行结果如下:
方法四:列表的sort方法排序
运行结果如下:
运行结果如下:
方法一:列表的copy方法
方法二:列表的切片
运行结果如下:
要求:判断101-200之间有多少个素数,并输出所有素数。
分析:
1.素数: 只能被1和本身整除的数。所以需要一个变量从1到本身;
2.数据变化的范围是从101-200 所以需要使用循环;
3.判断: 如果有一个非1和本身的数被整除则跳出循环,判断下一个数字;
4.如果循环完成,都只有1和本身能被整除说明符合条件,计数器+1
方法一:使用while循环
方法二:使用for循环
运行结果如下:
要求:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
方法一:使用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}')
方法二:使用正则表达式
运行结果如下:
要求: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*)。
方法一:使用函数
方法二:使用递归
方法三:输出指定个数的斐波拉契数列
方法四:使用生成器的方式实现
方法五:类实现内部魔法方法
#!/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)
运行结果如下:
要求:打印出100-999之间所有的"水仙花数。
分析:所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1³+5³+3³。
代码实现如下:
运行结果如下:
要求:将一个正整数分解质因数。例如:输入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以内的所有完数。
分析:一个数如果恰好等于它的因子之和,这个数就称为"完数",例如6=1+2+3。
代码实现如下:
运行结果如下:
py0923
”,代码结构如下所示:个人微信:Cc2015123
添加请注明来意 :)