Python Challenge[2]

[Level 2]


Title: ocr

图片下方提示

recognize the characters. maybe they are in the book,
but MAYBE they are in the page source.

在网页源码注释中找到提示

find rare characters in the mess below:

再往下是一堆字符串,根据提示是要找到字符串中出现次数较少的字符。尝试找出其中的出现的字母:

target=''
for ch in s:#s是源码中的字符串。
  if ch.isalpha():
    target+=ch

将数据放入文件中读取或许会更好。

with open('ocr.txt', encoding='utf-8') as f:
    s = f.read()

得到equality,试了下正是我们需要的,[Level 3]

Python Challenge Wiki

1.

s = ''.join([line.rstrip() for line in open('ocr.txt')])
OCCURRENCES = {}#OCCURRENCES = collections.OrderedDict()
for c in s: OCCURRENCES[c] = OCCURRENCES.get(c, 0) + 1
avgOC = len(s) // len(OCCURRENCES)
print(''.join([c for c in s if OCCURRENCES[c] < avgOC]))


利用字典计数,取出所有出现次数小于平均值的字符,类似的方法(代码未列出)是取出所有小于一定次数的字符。
1. [`collections.OrderedDict()`](https://docs.python.org/3/library/collections.html?highlight=collections.ordereddict#collections.OrderedDict)返回字典的子类实例,该子类记住了Key插入的顺序。
2. [`dict.get(key[, default])`](https://docs.python.org/3/library/stdtypes.html?highlight=dict.get#dict.get)返回字典中键对应的值,不存在且没有指定默认值,返回None,否则返回指定值。

####2. 
> ```python
mess = open("data.txt").read()
print(mess.translate(str.maketrans('','','%$()[]{}+_@^!*&#\n')))

或者使用集合,利用集合的特性把数据添加到集合中去重。

More

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • **2014真题Directions:Read the following text. Choose the be...
    又是夜半惊坐起阅读 11,189评论 0 23
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,929评论 0 33
  • 问题链接 问题链接如下: 答案链接 答案链接如下: 解题思路 将页面给定的字符串根据给定规则进行替换即可,规则如下...
    发条蛙阅读 199评论 0 0
  • 1. 2027年2月7日晚上10点,我死于地球公寓内的一场火灾。现在的我,是游荡着的灵魂。 五年前,我的同伴西锦同...
    染雨若阅读 590评论 0 7
  • 在一段感情中纠结,于好与坏,于继续和结束中纠结。看了好多书,好多人的文章,可事到自己头上还是觉得书都白读了,文章也...
    fy一步阅读 395评论 0 0

友情链接更多精彩内容