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


     

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

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

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

     

     

    验证邮箱格式

     

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

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

     

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

    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 171245

    前一天为:2014-6-10 171245

    前一秒为:2014-6-11 171244

    #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

    ======

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

  • 相关阅读:
    云服务器配置
    linux云服务器的配置
    Python进阶练习与爬取豆瓣T250的影片相关信息
    实时爬取疫情动态变化并进行可视化展示
    python基础学习
    异步实现用户名的校验
    人月神话读书笔记(一)
    第三周学习进度博客
    CentOS7.4下编译Hadoop-2.7.6
    Linux 内存使用率
  • 原文地址:https://www.cnblogs.com/fnng/p/3782515.html
Copyright © 2020-2023  润新知