python challenge 2

根据网页上的提示,打开网页源代码,有一句:find rare characters in the mess below:
意思是找出出现次数非常少的字母。于是统计这段mess中的每个字符出现的次数。

其实像%$@_这些都可以不用统计了,应该提示的是找出characters。

查出aeilquty这几个字母出现的次数是1,组合出来的单词有equality,这个词就是答案了。

import re

if __name__ == '__main__':

# put the mess from the page source into 2.txt
f = open('2.txt', 'r')
text = f.read()

#solution 1 Start
dic = {}

for x in text:
if x in dic:
dic[x] += 1
else:
dic[x] = 1

print('solution 1 :')
for x in dic:
print '%s, %d' % (x, dic[x])
#solution 1 End

#solution 2 Start
dict = {}

for x in text:
dict[x] = dict.get(x, 0) + 1;

print('solution 2:')
print(''.join([x for x in dict if dict[x] < 10]))
#solution 2 End

#solution 3 Start
print('solution 3:')
print ''.join([x for x in text if x.isalpha()])
#solution 3 End

#solution 4 Start
print('solution 4:')
print(re.findall('[a-z]', text))
#solution 4 End

f.close();

学习了re模块的使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值