【Python】【面试必看】Python笔试题
前言
现在面试测试岗位,一般会要求熟悉一门语言(python/java),为了考验求职者的基本功,一般会出 2 个笔试题,这些题目一般不难,主要考察基本功。要是给你一台电脑,在编辑器里面边写边调试,没多大难度。主要是给你一张纸和笔,让你现场写出来,那就没那么容易了。(本篇代码都是基于3.6)
1.统计
统计在一个队列中的数字,有多少个正数,多少个负数,如[1, 3, 5, 7, 0, -1, -9, -4, -5, 8]
方法一
# coding:utf-8 a = [1, 3, 5, 7, 0, -1, -9, -4, -5, 8] # 用列表生成式,生成新的列表 b = [i for i in a if i > 0 print("大于 0 的个数:%s" % len(b)) c = [i for i in a if i < 0] print("小于 0 的个数:%s" % len(c))
方法二
# coding:utf-8
a = [1, 3, 5, 7, 0, -1, -9, -4, -5, 8]
# 用传统的判断思维,累加
m = 0
n = 0
for i in a:
if i > 0:
m += 1
elif i < 0:
n += 1
else:
pass
print("大于 0 的个数:%s" % m)
print("小于 0 的个数:%s" % n)
2.字符串切片
字符串 "axbyczdj",如果得到结果“abc
方法一
# 字符串 a = "axbyczdj" print(a[::2])
方法二
# 传统思维
a = "axbyczdj"
c = []
for i in range(len(a)):
if i % 2 == 0:
c.append(a[i])
print("".join(c))
3.字符串切割
已知一个字符串为“hell_world_yoyo”, 如何得到一个队列
["hello","world","yoyo"]
a = "hello_world_yoyo"
b = a.split("_")
print(b)
4.格式化输出
已知一个数字为 1,如何输出“0001”
a = 1
print("%04d" %a)
5.队列
已知一个队列,如: [1, 3, 5, 7], 如何把第一个数字,放到第三个位置,得到:[3, 5, 1, 7]
a = [1, 3, 5, 7]
# insert 插入数据
a.insert(3, a[0])
print(a[1:])
6.交换
已知 a = 9, b = 8,如何交换 a 和 b 的值,得到 a 的值为 8,b 的值为 9
方法 1
a = 8
b = 9
a, b = b, a
print(a)
print(b)
方法 2
a = 8
b = 9
# 用中间变量 c
c = a
a = b
b = c
print(a)
print(b)
7.水仙花
打印出 100-999 所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个"水仙花数",因为 153=1 的三次方+5 的三次方+3 的三次方。
sxh = []
for i in range(100, 1000)
s = 0
m = list(str(i))
for j in m:
s += int(j)**len(m)
if i == s:
print(i) sxh.append(i)print("100-999 的水仙花数:%s" % sxh)
8.完全数
如果一个数恰好等于它的因子之和,则称该数为“完全数”,又称完美数或完备数。 例如:第一个完全数是 6,它有约数 1、2、3、6,除去它本身 6 外,其余3 个数相加,1+2+3=6。第二个完全数是 28,它有约数 1、2、4、7、14、28,除去它本身 28外,其余 5 个数相加,1+2+4+7+14=28。那么问题来了,求 1000 以内的完全数有哪些?
m=[]
for a in range(1,1000):
s = 0
for b in range(1,a):
if a%b==0:
if a!=b: #这里也可以写成if i % j == 0 and j < :s+=b
s+=b
if a==s:
m.append(a)
print("1000以内的完全数有:%s" % m)
9.排序:
用 python 写个冒泡排序
a = [1, 3, 10, 9, 21, 35, 4, 6]
s = range(1, len(a))[::-1]
print(list(s)) # 交换次数 for i in s:
for j in range(i):
if a[j] > a[j + 1]:
a[j], a[j + 1] = a[j + 1], a[j]
print("第 %s 轮交换后数据:%s" % (len(s)-i+1, a))
print(a)
运行结果:
10.sort 排序
已知一个队列[1, 3, 6, 9, 7, 3, 4, 6]
> 按从小到大排序
> 按从大大小排序
> 去除重复
a = [1, 3, 6, 9, 7, 3, 4, 6]
# 1.sort 排序,正序
a.sort()
print(a) # 2.sort 倒叙
a.sort(reverse=True)
print(a) # 3.去重
b = list(set(a))
print(b)
运行结果截图:
python 笔试题(递归)-2
前言本篇继续收集一些常见的 python 笔试题,以基础知识为主,递归是面试最喜考的一个问题,不管是做开发还是测试,都无法避免考递归。本篇结合实际案例,讲下几种关于递归的场景。
计算n 的阶乘
拓展知识点:
斐波那契数列
幂的递归
return 1 理解如下:
汉诺塔问题
re.findall()用法解析:
【Python】【面试必看】Python笔试题的更多相关文章
- 小白必看Python视频基础教程
Python的排名从去年开始就借助人工智能持续上升,现在它已经成为了第一名.Python的火热,也带动了工程师们的就业热.可能你也想通过学习加入这个炙手可热的行业,可以看看Python视频基础教程,小 ...
- 【Python】:用python做下百度2014笔试题
国庆节最后一天,明天就要上班了,闲来无事做做百度2014笔试题,好久没用过C++了,索性就用python简单的写一下,体验下题目难度.题目是从[大卫David]那里copy过来的. 1.给定任意一个正 ...
- 《Python 二三事》——python学习必看(转载)
面向初学者介绍Python相关的一些工具,以及可能遇到的常见问题. 原文出处 原文作者:八八年出生的男性,互联网上常用id是 jagttt .目前正从事 IT 行业的工作.业余爱好是动漫游加电 ...
- Python初学者必看(1)
python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...
- python初学者必看学习路线图!!!
python应该是近几年比较火的语言之一,很多人刚学python不知道该如何学习,尤其是没有编程基础想要从事程序员工作的小白,想必应该都会有此疑惑,包括我刚学python的时候也是通过从网上查找相关资 ...
- 面试必看!靠着这份字节和腾讯的面经,我成功拿下了offer!
准备 敲定了方向和目标后就开始系统准备,主要分为以下几个方面来准备. 算法题 事先已经看过别人的社招面经知道头条每轮技术面都有算法题,而这一块平时练习的比较少,校招时刷的题也忘记了很多.因此系统复习的 ...
- python面试必问 知识整理
一 数据类型 1 数字 整型与浮点型 #整型int 作用:年纪,等级,身份证号,qq号等整型数字相关 定义: age=10 #本质age=int(10) #浮点型float 作用:薪资,身高, ...
- Python | 面试必问,线程与进程的区别,Python中如何创建多线程?
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是Python专题第20篇文章,我们来聊聊Python当中的多线程. 其实关于元类还有很多种用法,比如说如何在元类当中设置参数啦,以及一 ...
- python初学者必看的学习路线
Python是近几年比较火的编程语言之一,因为人工智能的火爆,让很多人都想从事python开发.很多零基础学员在学习python的时候都会走一些弯路,下面小编就为大家分享python学习路线图,帮助零 ...
随机推荐
- linux安装中文输入法
CentOS英文系统安装中文输入法,简单说说在CentOS 6.3下用yum安装中文输入法的过程. 1.需要root权限,所以要用root登录 ,或su root 2.yum install &q ...
- SQL导出数据到EXCEL的问题
DTS导出向导 不会 我这有个是用C#语言写的 try { Excel.Application xApp = new Excel.ApplicationClass(); xApp.Visible = ...
- 如何把光盘制作成ISO镜像文件
如何把一张光盘转换成为ISO的镜像文件呢,这需要借助软件的力量. 下面来简单的介绍下吧. 工具/原料 UltraISO软碟通软件. 光驱 方法/步骤 下载并安装UltraISO软碟通软件. 插入要做的 ...
- 8 -- 深入使用Spring -- 5... Spring 3.1 新增的缓存机制
8.5 Spring 3.1 新增的缓存机制 Spring 3.1 新增了一种全新的缓存机制,这种缓存机制与Spring容器无缝地整合在一起,可以对容器中的任意Bean或Bean的方法增加缓存.Spr ...
- java调用删除文件的方法删除文件,却删除不干净
场景: 程序中在做数据下载时,生成了一个临时文件夹.夹子里面有一些txt和其他格式文件. 数据下载完毕后,需要删除这个临时文件夹,但是一直删除不干净,总会有一下文件残留. 网搜到了这个问题的原因: 内 ...
- android基础---->XMl数据的解析
在网络上传输数据时最常用的格式有两种,XML和JSON,下面首先学一下如何解析XML格式的数据,JSON的解析可以参见我的博客(android基础---->JSON数据的解析).解析XML 格式 ...
- Linux下的tr编辑器命令详解
通过使用 tr,您可以非常容易地实现 sed 的许多最基本功能.您可以将 tr 看作为 sed 的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以完全除去一些字符.您也可以用它来除去重复 ...
- 关于web标准的一些想法
关于web标准的一些想法 页面结构,表现,行为的关系.应该是各自分离又紧密联系的关系.从代码上分离出来.各自完成各自的功能,方便以后维护.紧密联系是指他们是相互依赖的.结构是核心,虽然从理论上讲不管什 ...
- Thrift的一些概念
Thrift最初是由Facebook开发的,因为随着流量和网络结构的扩展,一些操作如搜索.分发.事件日志记录等已经超出系统的处理范围,所以Facebook的工程师开发服务时选择了多种不同的编程语言来达 ...
- 壁虎书5 Support Vector Machine
SVM is capable of performing linear or nonlinear classification,regression,and even outlier detectio ...