python从基础到实践第6章答案(备战金九银十分享13道Python编程题)
点击上方头像关注我,每周上午 09:00准时推送,每月不定期赠送技术书籍,小窗口回复“资源”、“测试工具包”领取测试资源。
本文3057字,阅读约需8分钟
Hi,大家好。进入金九银十,想必很多小伙伴已经摩拳擦掌准备出去施展一番,今天分享13道Python常见面试题,如果想要获取更多面试题,可以在后台回复“面试顺利”进行解锁。
统计字符串中每个单词出现的次数?要求:统计一个文件或一个字符串中所有单词出现的次数。
方法一:
方法二:
运行结果:
{'I': 1,'can': 1,'because': 1','i': 2,think': 1,'from': 1, 'ITester软件测试小栈': 1}
要求:用多种方法实现对一个序列进行反转输出。
说明:Python 中常见的序列有字符串、列表及元组。对序列反序,可以利用内置函数 reversed() 或 range() 来实现,也可以用扩展切片 [::-1] 的形式实现。如果这个序列是列表,那么还可以使用列表自带的 reverse()方法。
方法一:reversed()内置函数方法
方法二:range()函数方法
方法三:[::-1]扩展切片方法
方法四:list 自带的 reverse()方法
Python查找并替换文本中的字符串
要求:用多种方式实现Python查找某字符串里面是否存在指定字符,如果存在,则进行替换。
方法一:通过replace()替换
方法二:通过正则替换
Python对列表中的字典排序?
要求:list 对象info_list= [{"name":"coco","age":20},{"name":"vivi","age":30},{"name":"cici","age":25}],按照 age 从大到小降序排列。
分析:列表的元素可以是字符串、数值、元组、列表和字典。一般情况下,字符串和数值可以直接调用sort()进行排序,而如果元素是字典类型,可以使用operator或lambda 进行排序。
方法一:使用 operator进行排序
方法二:使用 lambda 进行排序
python实现合并两个list并去掉重复的元素?
要求:用简洁的方法合并a_list = ['I','T','e','s','t','e','r'],b_list = [666,'t','e','s','t',520],并且元素不能重复。
实现如下:
Python乱序输出一个排好序的列表?
要求:随机生成一个长度10的整型列表,元素随机分布在1-100内。按从小到大的顺序排序列表并打印,然后输出顺序打乱后的列表。
实现如下:
Python获取当前时间?
要求:Python获取当前时间戳、年-月-日、年-月-日 时:分:秒。
实现如下:
Python判断是今年的第几天?
要求:Python实现输入一个日期,判断输入的日期是该年的第几天。
方法一:
方法二:
方法三:
Python实现冒泡排序
要求:冒泡排序即假定要将被排序的数组R[1..n]从大到小垂直排列,每个数字R可以看作是重量为R.key的气泡。根据轻气泡在上、重气泡在上的原则,从下往上扫描数组R:凡扫描到违反本原则的轻气泡,则使其向上"飘浮"。如此反复进行,直到最后任何两个气泡都是轻者在上、重者在下为止。最后将所有气泡逆序,就实现了数组从小到大的排序。
分析:
1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2.对第0个到第n-1个数据做同样的工作。这时,最大的数就到了数组最后的位置上。
3.针对所有的元素重复以上的步骤,除了最后一个。
4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
实现如下:
Python判断是否为回文数?
说明:回文数即正读(从左往右)和反读(从右往左)都是一样的一类数字。例如121、1331、22、都是回文数,1234 不是回文数。
方法一:列表切片
方法二:整数取余取整
Python求最大公约数?
说明:最大公约数指两个或多个整数共有约数中最大的一个。
分析:可以通过辗转相除法、辗转相减法、枚举法和欧几里得算法实现。
方法一:辗转相除法(while循环实现)
- 两数求余temp = a % b
- temp = 0时,b为最大公约数
- temp !=0时,a= b;b = temp
注:该循环的是否继续的判断条件就是temp是否为0,示例代码如下:
方法二:辗转相减法
- 如果a> b,a = a - b
- 如果b> a,b= b- a
- 如果a= b ,则 a或b是最大公约数
- 如果a!= b,则继续继续相减,直至a = b
示例代码如下:
方法三:枚举法
- 将两数a,b中最小的放到smaller中
- 用a,b分别对i(1到smaller之间)求余数,看是否能被整除
- 直到a,b同时被i整除
- 如不能整除,i 1后继续,直到i等于smaller
示例代码如下:
方法四:欧几里得算法(辗转相除的递归实现)
该方法其实就是辗转相除法的递归版本实现。
- 如果b=0,返回a;判断a>b
- 如果a>b,则a、b的最大公约数等于b与a%b的最大公约数,以此递归;
示例代码如下:
Python求最小公倍数?
说明:两个或多个整数共有的倍数叫做公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。
方法一:公式法
由于两个数的乘积等于这两个数的最大公约数与最小公倍数的积。即(a,b)×[a,b]=a×b。
- 从大的数(理论上,实际可以从任意一个数或者从正整数开始)开始一个个验证是否可以同时整除a和b;
- 如果找到则跳出循环,没找到则加一继续找。
方法二:质因数分解法
先把几个数分解质因数,再把它们一切公有的质因数和其中几个数公有的质因数以及每个数的独有的质因数全部连乘起来,所得的积就是它们的最小公倍数。
Python求中位数?
分析:中位数即将一个数列排序后位于中间的数值。
- 如果总数个数是奇数,按从小到大的顺序,取中间的那个数;
- 如果总数个数是偶数,按从小到大的顺序,取中间那两个数的平均数。
方法一:
方法二:
以上就是今天分享的13道Python编程题,你在面试过程中遇到过哪些面试题呢?欢迎文末留言分享~
更多系列文章
敬请期待
我是CoCo,计算机科学与技术专业,深漂大厂互联网民工(女),坐标深圳。5年工作经验,3年持续输出技术文。ITester软件测试小栈(ID:ITestingA),专注于软件测试技术和宝藏干货分享,每周准时更新原创技术文章,每月不定期赠送技术书籍,愿我们在更高处相逢。喜欢记得星标⭐我,每周及时获得最新推送,第三方转载请注明出处。
想获取更多最新干货内容
快来星标 置顶 关注我
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com