笔试测试开发题三道(python)
笔试遇到的三道测试开发题,虽然都不难,但关键还是思路吧!我想在开发东西的时候应该具备的就是思路,有了思路尝试去写,或查相关文档或代码,在此基础上需要不断调整最终达到需求。思路又是在不断练习中获得的。
在整个面试过程中,笔试往往不是重点,但从一笔试可以看出一个人平时对基础知识的积累。
再说明的一点是,对于下面的问题,有的要求用php,有的要求java,但我用python实现的。很多时候公司并不是在意你必须用哪种语言去实现,语言只是工具,用来解决问题了,关键是否有思路。
验证邮箱格式
验证邮箱的格式,不同语言的实现大同小异,通过正则表达式是最快捷的匹配方式,但对于不熟悉正则的同学看着一长串匹配符还是比较头痛的,其实也没那么恐怖。
熟悉python 中正则表达式的常用个匹配符
先看一下邮箱的一般格式:
x@x.x
x 表示一个或多个字符或数字。
1)第一个x可以字母数字
2)第二个x可以字母数字
3)第二个x可以字母,如.com,.cn,.net...等结尾
“@”和“.” 把内x拆成三部份。
整个邮箱长度最少等于5个字符。
代码如下:
#coding=utf-8
import re '''
[a-zA-Z0-9] 匹配大小写字母与数字
[a-zA-Z] 匹配大小写字母
\@ a\@b a@b (字符转义)
\. a\.b a.b (字符转义)
''' def emails(e):
if len(e)>= 5:
if re.match("[a-zA-Z0-9]+\@+[a-zA-Z0-9]+\.+[a-zA-Z]",e) !=None:
return '邮箱格式正确!'
return '邮箱格式有误' e = raw_input("请输入email:")
print e
a = emails(e)
print a
运行结果:
>>> ================================ RESTART ================================
>>>
请输入email:12@22.22
12@22.22
邮箱格式有误
>>> ================================ RESTART ================================
>>>
请输入email:xx@xx.com
abc@126.com
邮箱格式正确!
>>> ================================ RESTART ================================
>>>
请输入email:123@126.com
123@126.com
邮箱格式正确!
.......
获得一个URL地址的扩展名
如:
http://www.cnblogs.com/fnng/archive/2013/05/20/3089816.html 的扩展名为html
对于这个问题同样使用正则式来解决
import re def strings(url):
listt = ['.php','.html','.asp','.jsp']
for lis in listt:
suffix = re.findall(lis,url)
if len(suffix)>0:
return lis url = 'http://www.cnblogs.com/fnng/archive/2013/05/20/3089816.html' a = strings(url)
print a
运行结果:
.html
获得当前时间的前一天(或前一秒)
如果当前时间为:2014-6-11 17:12:45
前一天为:2014-6-10 17:12:45
前一秒为:2014-6-11 17:12:44
#coding=utf-8
import time
import datetime #打印当前时间
print time.ctime() #当前时间
now_time = datetime.datetime.now()
print now_time #昨天的现在
yesterday = now_time + datetime.timedelta(days = -1)
print yesterday #现在的前一秒
now_old = now_time + datetime.timedelta(seconds = -1)
print now_old
运行结果:
Wed Jun 11 17:21:07 2014
2014-06-11 17:21:07.750000
2014-06- 17:21:07.750000
2014-06-11 17:21:.750000
======
这个是在笔试过程中比较有印象的几道题,当时也写了个大概,没经过调试应该有问题,或不太符合需求,这里标记一下!想了想还是做为一篇博客发表一下。后续有时间会详细讲述跳槽经历以及最近一年多的感悟。
笔试测试开发题三道(python)的更多相关文章
- S2 深入.NET和C#编程 笔试测试错题积累
---恢复内容开始--- <深入.NET平台和C#编程>内部测试题-笔试试卷错题积累 1: 1) 以下关于序列化和反序列化的描述错误的是( C). a) 序列化是将对象的状态存储到特定存储 ...
- 【python测试开发栈】python基础语法大盘点
周边很多同学在用python,但是偶尔会发现有人对python的基础语法还不是特别了解,所以帮大家梳理了python的基础语法(文中的介绍以python3为例).如果你已然是python大牛,可以跳过 ...
- 测试开发系列之Python开发mock接口(一)
什么是mock接口呢,举个栗子,你在一家电商公司,有查看商品.购物.支付.发 货.收获等等等一大堆功能,你是一个测试人员,测测测,测到支付功能的时候,你就要调用第三方支付接口了,真实支付,直接扣你支付 ...
- 测试开发系列之Python开发mock接口(三)
于进入主题了,前面的准备工作都已经做好了,下面就开始写逻辑的代码了,代码我已经写好了,每行都加了注释,不明白的可以留言. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 ...
- 测试开发系列之Python开发mock接口(二)
上一篇咱们已经把开发前的环境准备好了,还需要再做一点准备,你的账户信息是存在哪的呢,当然是存在数据库里的,咱们在去支付,扣钱的时候,肯定是从数据库里面操作的,去更新账户表里面的数据,所以咱们先要把数据 ...
- 【python测试开发栈】python内存管理机制(一)—引用计数
什么是内存 在开始进入正题之前,我们先来回忆下,计算机基础原理的知识,为什么需要内存.我们都知道计算机的CPU相当于人类的大脑,其运算速度非常的快,而我们平时写的数据,比如:文档.代码等都是存储在磁盘 ...
- 【python测试开发栈】—python内存管理机制(二)—垃圾回收
在上一篇文章中(python 内存管理机制-引用计数)中,我们介绍了python内存管理机制中的引用计数,python正是通过它来有效的管理内存.今天来介绍python的垃圾回收,其主要策略是引用计数 ...
- 用Python解答百度测试开发算法面试题
吾八哥本人之前有幸能接到百度北京总部的人工智能测试开发岗位的面试机会,在二面的过程中,面试官出了一道算法题,题目是:有一组"+"和"-"符号,要求将" ...
- 《Python测试开发技术栈—巴哥职场进化记》—前言
写在前面 今年从4月份开始写一本讲Python测试开发技术栈的书,主要有两个目的,第一是将自己掌握的一些内容分享给大家,第二是希望自己能系统的梳理和学习Python相关的技术栈.当时我本来打算以故事体 ...
随机推荐
- 用ColorMatrix將Bitmap轉成灰度图
在Android中,若想將整張圖片轉成灰階效果其實有更簡便的方式,只要透過ColorMatrix類別的setSaturation函式將飽和度設為0即可.(您也可以試試從0~1之間的值,看看不同飽和度的 ...
- [推荐] kylinPET是一款功能强大的性能测试工具
[推荐] kylinPET是一款功能强大的性能测试工具 官方网站: http://www.kylinpet.com/
- 隐知识:reloadData 方法之后,view并不会立即更新其contentSize
在使用UITableView .UICollectionView ,调用reloadData方法之后,并不立即更新其contentSize.原因如下:http://jacksonriver.com/n ...
- Chkdsk scan needed on volume
After we extended the volume in storage array, in Failover cluster, it shows the volume is of 30.0 T ...
- angular post表单
参数文章:http://angularjs.cn/A0qF angularjs中Post使用的是json的交互方法,一般服务器还没达到这个阶段,我们可以用回传统的&参数的方法: var myA ...
- Windows技巧 - 右键菜单【在此处打开bash】
实现效果如下图: 步骤如下:按住shift,在文件夹空白处(桌面也可以)鼠标右键,即可看到 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROO ...
- 面包板入门电子制作(class1)视频 全套30集高清
面包板入门电子制作(class1)套件(30集高清) 本套件以电子制作中最基础的元器件在面包板上搭建电路,用启发性的视频教学方式,使学习者熟悉电子电路基础.发挥想像力.在创新设计和制作中学会独立设计和 ...
- Android 在xml中配置 float 和 integer 值
一.float的配置方法 andriod 默认不支持float型的设置,在values 下的新建floats.xml 文件,在内部添加如下代码: <resources> <item ...
- sap 怎么导出sap的各种表
其实方法很简单,只是以前一直没用过! 进入事务码se84
- C变量类型和作用域
C语言中所有变量都有自己的作用域,申明变量的类型不同,其作用域也不同.C语言中的变量,按照作用域的范围可分为两种, 即局部变量和全局变量. 一.局部变量 局部变量也称为内部变量.局部变量是在函数内作定 ...