您的位置:首页 > 其它

萧井陌大神办培训班的5道简题

2016-05-26 00:00 190 查看
摘要: 萧井陌大神准备开设培训班,然后放出5道简单的测试题。还好一直在学,没有忘记~而且好多题目也是这些天一直在整理的。虽然看似简单,但是真正实行起磕磕绊绊,最终还算可以~花了一天时间(群里有大神几十分钟搞定)。内容见正文

[code=language-python]# 题 1
# 检查密码规则合法性
# 考察基本编码能力和字符串处理
# 参考 python 文档的字符串库

# 给定一个字符串,用以下规则检查合法性
# 完全符合返回 True,否则返回 False
# 1,第一位是字母
# 2,只能包含字母、数字、下划线
# 3,只能字母或数字结尾
# 4,最小长度2
# 5,最大长度10

from string import letters,digits

nums = digits
letter_num = letters + nums

def va():
pwd = raw_input('Please enter password to check:\n')
if 2 <= len(pwd) <= 10:

if pwd[0] not in letters or pwd[-1] not in letter_num:
return False
else:
for otherchar in pwd[1:]:
if otherchar not in letter_num + '_':
return False
else:
return True

[code=language-python]# 题 2
# 返回 100 内的素数列表
# 考察基本的循环和选择概念、列表的使用

def prime_num():       #这个是百度素数词条里面的,但是会忽略掉2、3,所以手动添加2,3
list = [2,3]
for num in range(2,101):
for i in range(2,int(num**0.5)+1):
if num % i == 0 and num != i:
break
elif num % i != 0 and i == int(num**0.5):
list.append(num)
return list

def prime_num2():        #这个是自己写的,上述函数是挑出素数,这个函数是去掉合数,可以完美运行
list = [x for x in range(2,101)]
for num in range(2,101):
for i in range(2,num):
if num % i == 0 and num != i:
list.remove(num)
break
return list

[code=language-python]# 题 3
# 给定一个只包含字母的字符串,返回单个字母出现的次数
# 考察字典的概念和使用
# 返回值为包含元组的列表,格式如下(对列表中元组的顺序不做要求)
# 参数 "hello"
# 返回值 [('h', 1), ('e', 1), ('l', 2), ('o', 1)]

def letter_count(letter):
dict={}
for i in letter:
if i not in dict:
dict[i] = 1
else:
dict[i] += 1
return dict.items()

[code=language-python]# 题 4
# 给定一个英文句子(一个只有字母的字符串),将句中所有单词变为有且只有首字母大写的形

def cap_string(string):
return string.title()     #这个……应该不是萧大的本意吧

[code=language-python]# 题 5
# 写一个 Queue 类,它有两个方法,用法如下
q = Queue()
q.enqueue(1)
q.enqueue(2)
q.enqueue(3)

print(q.dequeue()) # 1
print(q.dequeue()) # 2
print(q.dequeue()) # 3

class Queue(object):
def __init__(self):
self.list = []
def enqueue(self,mem):
self.list.append(mem)
def dequeue(self):
if len(self.list) != 0:
return self.list.pop(0)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息