首页 文章详情

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

ITester软件测试小栈 | 376 2021-09-28 08:41 0 0 0
UniSMS (合一短信)
VOL 301

23

2021-09

今天距2022年100天

这是ITester软件测试小栈第301次推文

点击上方蓝字“ITester软件测试小栈“关注我,每周一五早上 09:00准时推送,每月不定期赠送技术书籍


微信公众号后台回复“资源测试工具包”领取测试资源,回复“微信交流群”、“内推群”一起进群打怪。


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





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

1

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


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


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


方法二:使用Python特有方式


方法三:使用算术运算符


方法四:使用位运算符


运行结果如下:




2

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


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

方法一:使用列表排序


运行结果如下:


方法二:利用三个变量


运行结果如下:


方法三:依次比较大小


运行结果如下:


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


运行结果如下:




3

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

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

代码实现如下:


运行结果如下:



4

列表复制

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

方法一:列表的copy方法


方法二:列表的切片


运行结果如下:



5

Python输出素数

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

分析:

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

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

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

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


方法一:使用while循环


方法二:使用for循环


运行结果如下:



6

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}')


方法二:使用正则表达式


运行结果如下:



7

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

方法一:使用函数


方法二:使用递归


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


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


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

#!/usr/bin/python3
@Software:PyCharm
# @微信公众号:ITester软件测试小栈

#方法五: 类实现内部魔法方法
class fib_5(object):
    """斐波那契数列迭代器"""

    def __init__(selfn):
        """
        :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)


运行结果如下:



8

Python打印水仙花数

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

分析:所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1³+5³+3³

代码实现如下:


运行结果如下:



9

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求1000以内的完数

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

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

代码实现如下:


运行结果如下:



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



以上

That‘s all
更多系列文章
敬请期待



ITester软件测试小栈(ID:ITestingA),专注于软件测试技术和宝藏干货分享,每周准时更新原创技术文章,每月不定期赠送技术书籍,愿我们在更高处相逢。喜欢记得星标⭐我,每周及时获得最新推送,第三方转载请注明出处


ITester软件测试小栈
往期内容宠幸


1.Python接口自动化-接口基础(一)

2.Python接口自动化-接口基础(二)


3.Python接口自动化-requests模块之get请求


4.Python接口自动化-requests模块之post请求

5.Python接口自动化之cookie、session应用


6.Python接口自动化之Token详解及应用


7.Python接口自动化之requests请求封装


8.Python接口自动化之pymysql数据库操作


9.Python接口自动化之logging日志


10.Python接口自动化之logging封装及实战

想获取更多最新干货内容
快来星标 置顶 关注
每周一、三、五 09:00见

<<  向右滑动查看下一张图片  >>

 后台 回复"资源"取干货
回复"微信群"一起打怪升级

个人微信:Cc2015123

添加请注明来意 :)


真爱四连,BiuBiuBiu~
good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter