设为首页 收藏本站
查看: 548|回复: 0

[经验分享] 笔试测试开发题三道(python)

[复制链接]

尚未签到

发表于 2015-4-23 06:03:21 | 显示全部楼层 |阅读模式
  笔试遇到的三道测试开发题,虽然都不难,但关键还是思路吧!我想在开发东西的时候应该具备的就是思路,有了思路尝试去写,或查相关文档或代码,在此基础上需要不断调整最终达到需求。思路又是在不断练习中获得的。
  在整个面试过程中,笔试往往不是重点,但从一笔试可以看出一个人平时对基础知识的积累。
  再说明的一点是,对于下面的问题,有的要求用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.iyunv.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.iyunv.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-10 17:21:07.750000
2014-06-11 17:21:06.750000
  
  ======
  这个是在笔试过程中比较有印象的几道题,当时也写了个大概,没经过调试应该有问题,或不太符合需求,这里标记一下!想了想还是做为一篇博客发表一下。后续有时间会详细讲述跳槽经历以及最近一年多的感悟。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-59702-1-1.html 上篇帖子: 修复 Python version 2.6 required, which was not found in the registry. 下篇帖子: python开发的类似stardict工具
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表