码迷,mamicode.com
首页 > 编程语言 > 详细

笔试测试开发题三道(python)

时间:2014-06-12 09:48:05      阅读:300      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   code   java   http   

 

  笔试遇到的三道测试开发题,虽然都不难,但关键还是思路吧!我想在开发东西的时候应该具备的就是思路,有了思路尝试去写,或查相关文档或代码,在此基础上需要不断调整最终达到需求。思路又是在不断练习中获得的。

  在整个面试过程中,笔试往往不是重点,但从一笔试可以看出一个人平时对基础知识的积累。

  再说明的一点是,对于下面的问题,有的要求用php,有的要求java,但我用python实现的。很多时候公司并不是在意你必须用哪种语言去实现,语言只是工具,用来解决问题了,关键是否有思路。

 

 

验证邮箱格式

 

  验证邮箱的格式,不同语言的实现大同小异,通过正则表达式是最快捷的匹配方式,但对于不熟悉正则的同学看着一长串匹配符还是比较头痛的,其实也没那么恐怖。

熟悉python 中正则表达式的常用个匹配符

 

先看一下邮箱的一般格式:

x@x.x

表示一个或多个字符或数字。

1)第一个x可以字母数字

2)第二个x可以字母数字

3)第二个x可以字母,如.com,.cn,.net...等结尾

“@”和“.” 把内x拆成三部份。

整个邮箱长度最少等于5个字符。

 

代码如下:

bubuko.com,布布扣
#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
bubuko.com,布布扣

运行结果:

bubuko.com,布布扣
>>> ================================ RESTART ================================
>>> 
请输入email:12@22.22
12@22.22
邮箱格式有误
>>> ================================ RESTART ================================
>>> 
请输入email:xx@xx.com
abc@126.com
邮箱格式正确!
>>> ================================ RESTART ================================
>>> 
请输入email:123@126.com
123@126.com
邮箱格式正确!
.......
bubuko.com,布布扣

 

 

获得一个URL地址的扩展名

 

如:

http://www.cnblogs.com/fnng/archive/2013/05/20/3089816.html  的扩展名为html

对于这个问题同样使用正则式来解决

 

bubuko.com,布布扣
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
bubuko.com,布布扣

 

运行结果:

.html

 

 

 

获得录前时间的前一天(或前一秒)

 

如果当前时间为:2014-6-11 171245

前一天为:2014-6-10 171245

前一秒为:2014-6-11 171244

bubuko.com,布布扣
#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
bubuko.com,布布扣

运行结果:

Wed Jun 11 17:21:07 2014
2014-06-11 17:21:07.750000
2014-06-10 17:21:07.750000
2014-06-11 17:21:06.750000

 

======

  这个是在笔试过程中比较有印象的几道题,当时也写了个大概,没经过调试应该有问题,或不太符合需求,这里标记一下!想了想还是做为一篇博客发表一下。后续有时间会详细讲述跳槽经历以及最近一年多的感悟。

 

笔试测试开发题三道(python),布布扣,bubuko.com

笔试测试开发题三道(python)

标签:style   class   blog   code   java   http   

原文地址:http://www.cnblogs.com/fnng/p/3782515.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!