久谦咨询python笔试题目_python笔试含答案

听过the zen of python 吗?尽可能地默写它,中英文皆可,大意也可。如果没有听过,谈谈你对pythonic 的看法,或者你认为什么样的python 代码才是好代码。

The Zen of Python, by Tim Peters

Beautiful is better than ugly.

Explicit is better than implicit.

Simple is better than complex.

Complex is better than complicated.

Flat is better than nested.

Sparse is better than dense.

Readability counts.

Special cases aren't special enough to break the rules.

Although practicality beats purity.

Errors should never pass silently.

Unless explicitly silenced.

In the face of ambiguity, refuse the temptation to guess.

There should be one-- and preferably only one --obvious way to do it.

Although that way may not be obvious at first unless you're Dutch.

Now is better than never.

Although never is often better than *right* now.

If the implementation is hard to explain, it's a bad idea.

If the implementation is easy to explain, it may be a good idea.

Namespaces are one honking great idea -- let's do more of those!

Python之禅

-----------------

美比丑好

直言不讳比心照不宣好

简单比复杂好

复杂比难以理解好

平面的比嵌套的好

错落有致比密密匝匝的好

可读性很重要

虽然实用比纯粹更重要

但特殊情况不能特殊到打破规律

永远别让错误悄悄地溜走

除非是你故意的

碰到模棱两可的地方,绝对不要去作猜测

什么事情都应该有一个,而且最好只有一个显而易见的解决办法

虽然刚开始的时候,这个办法可能不是那么的显而易见,但谁叫你不是荷兰人

有些事情不理不睬可能会比过一会解决要好

但最好是现在就解决

如果一个想法实现起来很困难,那它本身就不是一个好想法

如果一个想法实现起来很容易,那它或许就是一个好想法

命名空间是一个很了不起的想法,让我们多多使用吧

Pythonic到底是什么玩意儿?

基本意思就是说如果想 Pythonic 就应该使用 Python 的构造和数据结构,并且要干净、符合可读性的习惯。

也就是说:一个功能不是很强但容易上手的框架比起功能强大但要花大量时间学习的框架来说更 Pythonic 。因为Python的哲学就是简单,美!

现在有一个list 对象alist,里面的所有元素都是字符串,编写一个函数对它实现一个大小写无关的排序。

a.sort(key=lambda

x:x.lower())

举一个你在以往项目中用到set这种数据结构的问题,并说明为什么当时选择了set 这种数据结构。

通常在对集合中元素的顺序和出现的次数没有什么要求时使用。对于set,有一些函数可以帮助求解set之间的关系,例如:包含关系,交集关系等。

有一个排好序地list 对象alist,查找其中是否有某元素a(尽可能地使用标准库函数)。

try:

alist.index(a)

except ValueError:

return False

return True

说说dict 的items() 方法与iteritems() 方法的不同。

一个生成全部,一个是迭代器

写一段程序逐行读入一个文本文件,并在屏幕上打印出来。

with open(file_path,

'r') as f:

for line in f:

print line

默写尽可能多的str 对象的方法。

count、decode、encode、endswith、expandtabs、find、index、isalnum、isalpha、isdigit、islower、isspace、istitle、isupper、join、ljust、lstrip、replace、rfind、rindex、rjust、rstrip、split、splitlines、startswith、strip、swapcase、title、translate、upper

打乱一个排好序的list 对象alist。

random.shuffle(alist)

有二维的list 对象(即它的每一个元素都是一个list 对象)alist,假定其中的所有元素都具有相同的长度(把alist 想象成一个表格),写一段程序根据元素的第二个元素排序(即对表格的第二列字段排序)。

def sort_lists2(lists,

sord, sidx):

if sord == 'desc':

lists.sort(key=lambda

x:x[sidx], reverse=True)

else:

lists.sort(key=lambda

x:x[sidx])

return lists

实现一个stack。

class Stack():

def __init__(self,

max_depth):

self.max_depth =

max_depth

self.stack = []

def push(self,

element):

if len(self.stack) <

self.max_depth:

self.stack.append(element)

raise Exception, 'your

stack is full'

def pop(self):

if self.is_empty():

raise Exception, 'pop()

error, your stack is empty'

element =

self.stack[-1]

del self.stack[-1]

return element

def is_empty(self):

return len(self.stack)

== 0

def get_top(self):

if self.is_empty():

raise Exception,

'get_top error, your stack is empty'

return self.stack[-1]

def get_end(self):

if self.is_empty():

raise Exception,

'get_end error, your stack is empty'

return self.stack[0]

if __name__ ==

'__main__':

print '你好'

编写一个简单的ini 文件解释器。

class

IniParser(object):

'''

简单的ini解析,

'''

def __init__(self,

iniFile):

self.iniFile = iniFile

with open(self.iniFile)

as f:

ini = []

for i in f:

if self.isSession(i):

l = i[2:-2].strip()

i = self.str2session(l)

ini.append(i.strip())

self.ini =

self._format(ini)

什么是lambda函数?它有什么好处?

匿名函数,

方便, 类函数式,

写回调方便

已知仓库中有若干商品,以及相应库存,类似:

袜子,200

鞋子,11

拖鞋,2

项链,209

要求随机返回一种商品,要求商品被返回的概率与其库存成正比。请描述实现的思路或者直接写一个实现的函数

Pythonic到底是什么玩意儿?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值