笔试测试开发题三道(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相关的技术栈.当时我本来打算以故事体 ...
随机推荐
- linux之cp/scp命令+scp命令详解(转)
名称:cp 使用权限:所有使用者 使用方式: cp [options] source dest cp [options] source... directory 说明:将一个档案拷贝至另一档案,或将数 ...
- VS2015 ASP.NET5 Web项目结构浅析
前言 本文个人同步博客地址http://aehyok.com/Blog/Detail/76.html 个人网站地址:aehyok.com QQ 技术群号:206058845,验证码为:aehyok 本 ...
- SSD在SQLServer中的应用
一. 首先,回顾一下 SSD 的读写特性 (1)有限次数写: (2)随机读性能最好: (3)顺序读性能好: (4)顺序写性能差: (5) ...
- 小白学数据分析----->付费用户生命周期研究
付费用户其实存在一个付费周期转化的问题,直接指标可能就是付费渗透率的问题,然而在此背后其实还有更深入的问题.我们经常遇到的是推广渠道获得的新用户,且这批用户进入游戏的状态.其实在付费用户问题研究方面, ...
- Installing Oracle and ArcSDE on separate servers
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//002n0000000q000000
- nginx+tomcat+java部署总结
昨天部署了一下nginx+tomcat+java出现了很多问题,以下为整理总结. 使用了两种部署方式,一种是源码部署,一种是war部署. java源码部署总结: 环境:nginx+tomcat 部署方 ...
- S7-200系列PLC与WINCC以太网通信CP243i的实例
S7-200系列PLC与WINCC以太网通信CP243i的实例 ----选用大连德嘉国际电子www.dl-winbest.cn的CP243i作为连接S7-200的PPI口转以太网RJ45的接口转换器. ...
- Centos 7防火墙firewalld开放80端口
开启80端口 1.firewall-cmd --zone=public --add-port=80/tcp --permanent 出现success表明添加成功 命令含义: --zone #作用域 ...
- 每日英语:A Whiff Of 'Welcome Home'
Buying real estate involves weighing a lot of factors: location, price . . . smell? Some condo devel ...
- shell脚本编写方法
shell脚本编写就如同一门语言,涉及到运行环境.基本语法.变量定义.函数.参数(系统参数).条件判定.执行流程控制 等等问题. 本文就以下几个方面进行描述: 运行环境: shell shebang ...