金九银十面试季,分享10道Python编程题

金九银十面试季,分享10道Python编程题

金九银十面试季,分享10道Python编程题

点击上方头像关注我,每周上午 09:00准时推送,每月不定期赠送技术书籍,小窗口回复“资源”、“测试工具包”领取测试资源。

本文3152字,阅读约需8分钟

Hi,大家好。站在九月的尾巴,即将迎来十月,今天分享10道Python常见面试题,如果想要获取更多面试题,可以在后台回复“面试顺利”进行解锁,如需本文源代码可在后台回复“py0923”。

Python多种方法交换两个变量的值

要求:用多种Python方法实现交换两个变量的值,如:a=20,b=30,交换后:a=30,b=20。

方法一:使用第三方临时变量

金九银十面试季,分享10道Python编程题

方法二:使用Python特有方式

金九银十面试季,分享10道Python编程题

方法三:使用算术运算符

金九银十面试季,分享10道Python编程题

方法四:使用位运算符

金九银十面试季,分享10道Python编程题

运行结果如下:

金九银十面试季,分享10道Python编程题

输入3个整数,由小到大输出。

要求:输入三个整数x,y,z,将这三个数由小到大输出。

方法一:使用列表排序

金九银十面试季,分享10道Python编程题

运行结果如下:

金九银十面试季,分享10道Python编程题

方法二:利用三个变量

金九银十面试季,分享10道Python编程题

运行结果如下:

金九银十面试季,分享10道Python编程题

方法三:依次比较大小

金九银十面试季,分享10道Python编程题

运行结果如下:

金九银十面试季,分享10道Python编程题

方法四:列表的sort方法排序

金九银十面试季,分享10道Python编程题

运行结果如下:

金九银十面试季,分享10道Python编程题

四个数字可组成多少个无重复的数字?

要求:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?并打印输出符合条件的三位数。

代码实现如下:

金九银十面试季,分享10道Python编程题

运行结果如下:

金九银十面试季,分享10道Python编程题

列表复制

要求:将一个列表的数据复制到另一个列表中。

方法一:列表的copy方法

金九银十面试季,分享10道Python编程题

方法二:列表的切片

金九银十面试季,分享10道Python编程题

运行结果如下:

金九银十面试季,分享10道Python编程题

Python输出素数

要求:判断101-200之间有多少个素数,并输出所有素数。

分析:

1.素数: 只能被1和本身整除的数。所以需要一个变量从1到本身;

2.数据变化的范围是从101-200 所以需要使用循环;

3.判断: 如果有一个非1和本身的数被整除则跳出循环,判断下一个数字;

4.如果循环完成,都只有1和本身能被整除说明符合条件,计数器+1

方法一:使用while循环

金九银十面试季,分享10道Python编程题

方法二:使用for循环

金九银十面试季,分享10道Python编程题

运行结果如下:

金九银十面试季,分享10道Python编程题

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 += 1print(f'char = {letters},space = {space},digit = {digit},others = {other}')

方法二:使用正则表达式

金九银十面试季,分享10道Python编程题

运行结果如下:

金九银十面试季,分享10道Python编程题

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*)。

方法一:使用函数

金九银十面试季,分享10道Python编程题

方法二:使用递归

金九银十面试季,分享10道Python编程题

方法三:输出指定个数的斐波拉契数列

金九银十面试季,分享10道Python编程题

方法四:使用生成器的方式实现

金九银十面试季,分享10道Python编程题

方法五:类实现内部魔法方法

#!/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 selfif __name__ == '__main__':    fib = fib_5(10)    for num in fib:        print(num)

运行结果如下:

金九银十面试季,分享10道Python编程题

Python打印水仙花数

要求:打印出100-999之间所有的”水仙花数。

分析:所谓”水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个”水仙花数”,因为153=13+53+33

代码实现如下:

金九银十面试季,分享10道Python编程题

运行结果如下:

金九银十面试季,分享10道Python编程题

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的值,重复执行第一步。

方法一:使用循环

金九银十面试季,分享10道Python编程题

方法二:使用递归

金九银十面试季,分享10道Python编程题

运行结果如下:

金九银十面试季,分享10道Python编程题

Python求1000以内的完数

要求:Python实现找出1000以内的所有完数。

分析:一个数如果恰好等于它的因子之和,这个数就称为”完数”,例如6=1+2+3。

代码实现如下:

金九银十面试季,分享10道Python编程题

运行结果如下:

金九银十面试季,分享10道Python编程题

如果想要获取本文完整代码可在ITester软件测试小栈微信公众号后台回复“py0923”,代码结构如下所示:

金九银十面试季,分享10道Python编程题

来源:CoCo的软件测试小栈

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年7月16日
下一篇 2022年7月16日

相关推荐