您的位置:首页 > 其它

Several exercises

2016-05-26 09:16 267 查看

1 valid_pwd

#1-4 均是在Windows Powershell 中编译通过
>>> import re
>>> def valid_password(pwd):
...     if re.match(r'^[a-zA-Z][0-9a-zA-Z\_]{0,8}[a-zA-Z]$',pwd):
...         return True
...     else:
...         return False
...
>>> valid_password('a')
False
>>> valid_password('1pgh')
False
>>> valid_password('pgh1')
False
>>> valid_password('pgh')
True


2 prime_numbers

>>> def prime_numbers():
...     l=[2]
...     for x in range(3,101):
...         n=2
...         count = 0
...         while n < x:
...             if x % n != 0:
...                 count = count +1
...             n = n + 1
...             if count == (x-2):
...                 l.append(x)
...     return l
...# 不考虑纯函数的话用filter函数会更简便
>>> prime_numbers()
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]


3 letter_count

>>> def letter_count(str):
...     data = 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM'
...     l = []
...     for i  in data:
...         count = 0
...         n = len(str) - 1
...         while n>= 0:
...             if i == str
:
...                 count = count +1
...             n = n-1
...         if count > 0:
...             l.append((i,count))
...     return l
...


4 cap_string(str)

>>> def cap_string(str):
...     str = str.lower()
...     length = len(str)
...     n = 1
...     if str[0] != ' ' :
...         l = str[0].upper()
...     else :
...         l = str[0]
...     while n < length:
...         if str
!= ' ':
...             if str[n-1] == ' ':
...                 l = l + str
.upper()
...             else:
...                 l = l + str

...         else:
...             l = l + str

...         n = n +1
...     return l
...# 列表生成式应该会更快点


5 class Queue

#这是在pycharm中编译通过的,总感觉。。。这么简单?
class Queue(object):
def __init__(self):
self.items = []

def enqueue(self,item):
self.items.append(item)

def dequeue(self):
return self.items.pop(0)

q = Queue()
q.enqueue(1)
q.enqueue(2)
q.enqueue(3)

print q.dequeue()
print q.dequeue()
print q.dequeue()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: