当前位置: 首页 > news >正文

北京西站地铁几号线西安seo

北京西站地铁几号线,西安seo,求购信息平台,清远网站开发最近遇到了一份python的面试题,题目比较简单,时间控制在一个小时之内。以下是面试的题目跟答案,答案不代表最优解,只是当时所想到的一些思路,接下来将分享给大家。 目录 1. 给出下面打印结果 2.字典如何删除键、如何…

最近遇到了一份python的面试题,题目比较简单,时间控制在一个小时之内。以下是面试的题目跟答案,答案不代表最优解,只是当时所想到的一些思路,接下来将分享给大家。

目录

1. 给出下面打印结果

2.字典如何删除键、如何合并两个字典

3. 下列正则表达式可以匹配 www.tencent-inc.com 的有哪些

4. 有一些文件,路径如下图

 module_x.py想引用module_y.py的方法,该如何写

 module_z.py想引用module_y.py的方法,该如何写

5. 请指出下列程序是否会有报错

6. 写出一段Python代码实现删除一个list里面的重复元素

7. 给定一组由小到大的数字0,1,2...,n,从中找出一个丢失的数字。

8.给定一个字符串,里边可能包含“()”、"{}"两种括号,请编写程序检查该字符串的括号是否成对出现。

9.请编写代码实现一个【单例】类MoreFun,要求该类的__init__函数只能被调用一次

10.编写代码实现方法get_time_in_range

 11.给定一个整数数组nums和一个目标值target,请你再该数组中找出和为目标值的那两个证书,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组同一个元素不能使用两遍。​编辑


1. 给出下面打印结果

答案:

12.0 

6.0

这道题很简单,定义了两个函数,并将x作为参数分别调用两个函数并输出结果。

两个函数都判断了传入列表是否为空,funcA函数将列表中每一个元素用float()方法转化为浮点数,并返回列表中的最大值。因此,输出12.0。

funcB也是将列表中每一个元素用float转化为浮点数,返回时先将列表用sum()方法求和再除以列表的长度。因此,输出6.0

2.字典如何删除键、如何合并两个字典

答:

       删除键:1、可以使用del关键字来从字典中删除指定的键

       如,从dictA中删除key为“a”,可以用del dictA[‘a’]

2、可以使用pop()方法来删除指定键,这个方法可以返回该键对应的值,如果键不存在,则可以提供一个默认值作pop()方法的第二个参数。

如,result = dictA.pop(‘a’,None)

      

       合并字典:1、可以使用update()方法来合并字典。

       如,dictA.update(dictB)。此时dictA则是已经合并了dictB。

2、使用dict()构造函数

如,dictA(dictA,**dictB)

3. 下列正则表达式可以匹配 www.tencent-inc.com 的有哪些

     ^\w+\.\w+\-\w+\.\w+$

     [w]{0,3}.[a-z\-]*.[a-z]+

     [c-w.]{3,10}[.][c-w.][.][a]

     [w][w][w][tencent-inc]+[com]+

     ^\w.*com$

     [w]{3}.[a-z\-]{11}.[a-z]{3}

我们来逐条分析:

  1. ^\w+\.\w+\-\w+\.\w+$

    • 匹配形式为word1.word2-word3.word4的字符串,其中每个word由一个或多个\w(字母、数字或下划线)组成。
    • 不匹配"www.tencent-inc.com"。
  2. [w]{0,3}.[a-z\-]*.[a-z]+

    • 匹配任意长度的w(小写字母"w")后跟一个任意字符、一个由小写字母和连字符("-")组成的字符串,再后跟一个由小写字母组成的字符串。
    • 不匹配"www.tencent-inc.com"。
  3. [c-w.]{3,10}[.][c-w.][.][a]

    • 匹配由cw范围内的字符、点号(".")、再由cw范围内的字符、点号(".")、再匹配一个字母a
    • 不匹配 "www.tencent-inc.com"。
  4. [w][w][w][tencent-inc]+[com]+

    • 匹配由3个连续的小写字母w、一个或多个连续的"tencent-inc"、一个或多个连续的"com"组成的字符串,但是没有匹配到"."。
    • 不匹配 "www.tencent-inc.com"。
  5. ^\w.*com$

    • 匹配以字母、数字或下划线开头,且以"com"结尾的字符串。^表示字符串的开始,$表示字符串的结尾。
    • 匹配"www.tencent-inc.com"。
  6. [w]{3}.[a-z\-]{11}.[a-z]{3}

    • 匹配由3个连续的小写字母w、一个由小写字母和连字符("-")组成的11字符字符串、再后跟由小写字母组成的3字符字符串。
    • 不匹配 "www.tencent-inc.com"。

因此,能够匹配到"www.tencent-inc.com"的正则表达式是:

  • [w][w][w][tencent-inc]+[com]+
  • ^\w.*com$

4. 有一些文件,路径如下图

  •  module_x.py想引用module_y.py的方法,该如何写

 答:import moudule_y

  •  module_z.py想引用module_y.py的方法,该如何写

答:相对导入:在package创建一个空的__init__.py文件,

可使用from..subpackage1 import module_y 来导入module_y的方法

绝对路径导入:from my_package.subpackage1 import y

5. 请指出下列程序是否会有报错

url='http://www.qq.com'

def func():

    print(url)

    url = url.split(".")[1]

    print(url)

if __name__=='__main__':

    func()

 答:程序会报错。url是全局变量,在func()函数内部中尝试去修改全局作用域的变量会导致报错。在函数中使用global关键字声明url是全局变量可以避免报错,如:

url='http://www.qq.com'def func():global urlprint(url)url = url.split(".")[1]print(url)if __name__=='__main__':func()

6. 写出一段Python代码实现删除一个list里面的重复元素

答:可以使用python内置函数set()来实现,set()是集合,集合中不允许存在重复元素。如:

def func(list):

       return list(set(list))

7. 给定一组由小到大的数字0,1,2...,n,从中找出一个丢失的数字。

例如,给定nums = [0, 0, 1, 3, 4]返回2。

答:先获取最大的数字,然后生成一个从小到大的数列,对比两者即可得到丢失数字。
def func(nums):
    num_range = list(range(nums[-1])) #生成从小到大的数列
    return set(num_range)-set(nums)

8.给定一个字符串,里边可能包含“()”、"{}"两种括号,请编写程序检查该字符串的括号是否成对出现。

输出:

true:代表括号成对出现并且嵌套正确,或字符串无括号字符。

false:未正确使用括号字符。

答:count可以统计字符串中的某一字符出现次数

def func(str):
    if (str.count('(') != str.count(')')) or (str.count('{') != str.count('}')):
        return False
    else:
        return True

9.请编写代码实现一个【单例】类MoreFun,要求该类的__init__函数只能被调用一次

答:

class MoreFun:_instance = None  # 类变量,用于保存类的唯一实例def __new__(cls, *args, **kwargs):if cls._instance is None:cls._instance = super().__new__(cls)return cls._instancedef __init__(self):if not hasattr(self, '_initialized'):self._initialized = True# 在这里进行初始化操作,确保__init__函数只被调用一次

10.编写代码实现方法get_time_in_range

输入:字符串形式的时间起/止节点

输出:两个时间节点间的所有整数小时节点,左闭右开

>>get_time_in_range( “2018/11/12 21:01:01”, “2018/11/13 01:01:01”)

>>[“2018/11/12/21/”, “2018/11/12/22/”, “2018/11/12/23/”, “2018/11/13/00/” , “2018/11/13/01/” ]

答:

def get_time_in_range(start_time, end_time):time_format = "%Y/%m/%d %H:%M:%S"start_datetime = datetime.strptime(start_time, time_format)end_datetime = datetime.strptime(end_time, time_format)time_in_range = []current_datetime = start_datetimewhile current_datetime < end_datetime:time_in_range.append(current_datetime.strftime("%Y/%m/%d/%H/"))current_datetime += timedelta(hours=1)return time_in_range

 11.给定一个整数数组nums和一个目标值target,请你再该数组中找出和为目标值的那两个证书,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组同一个元素不能使用两遍。

答 :

def func(nums , target):n = [] #定义已使用过的元素容器for i in range(len(nums)):#如果该元素使用过则跳过此次循环if nums[i] in n:continuefor j in range(len(nums)):if nums[i]+nums[j] == target:print(nums[i],nums[j])n.append(nums[i])n.append(nums[j])
#验证
nums = [2,4,6,8,10,12]
target = 12
func(nums,target)

对待面试题的时候我们可以先猜一下这道题的考点是什么,答出面试官想要的答案。

以上就是今日份的面试题,祝同学们早日找到合适的工作,事业有成~

如果此博客反响好的话我会考虑专门出个python面试专栏来解答童鞋们的疑惑哦,让我们一起进步吧!

http://www.ho-use.cn/article/1028.html

相关文章:

  • webapp开发广州seo站内优化
  • wordpress 多国语言seo百度网站排名软件
  • 门户网站建设成本房地产销售技巧和话术
  • 肇庆网站制作软件培训seo去哪家机构最好
  • 深圳网站建设公司推荐优化什么意思
  • 政府为什么要做网站建设免费seo网站推荐一下
  • 网站默认样式表优化设计数学
  • 贵阳网站建设费用品牌营销策划公司排名
  • 自己做免费手机网站百度竞价客服
  • 赣州做网站哪家好东莞百度搜索优化
  • 服务器做网站好怎么给自己的公司建立网站
  • 茶叶网站建设规划书搜索引擎的四个组成部分及作用
  • 织梦音乐网站宜昌网站seo
  • 小说网站自动采集深圳广告策划公司
  • 如何把物流做免费网站网站推广优化公司
  • 做网站说什么5.0啥意思链接提交入口
  • 做免费外贸网站国产免费crm系统有哪些在线
  • 地域购物网站谷歌浏览器 安卓下载2023版
  • 网站建设竞争性磋商文件推广关键词
  • 网站无法做301重定向yandex引擎
  • 网站页面设计报价模板如何做seo搜索引擎优化
  • 网站开发设计图psd附近的教育培训机构有哪些
  • 无锡公司网站建设买友情链接有用吗
  • 模块化网站建设系统线上推广活动有哪些
  • 南京网站推广优化公司怎么优化网站的
  • win7家用电脑做网站服务器点击seo软件
  • 北京网站设计公司地址网页设计个人网站
  • flash 网站头部腾讯营销平台
  • 怎么查看网站有没有做ssl网站统计数据分析
  • 做暧暖的免费网站自己怎么开网站