pythonchallenge Level 2
Posted OTAKU_undefined
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pythonchallenge Level 2相关的知识,希望对你有一定的参考价值。
第2关地址: http://www.pythonchallenge.com/pc/def/ocr.html
页面提示信息:
recognize the characters. maybe they are in the book,
but MAYBE they are in the page source.
根据提示查看源码:
获得提示信息:find rare characters in the mess below 以及一段文本。
需要在这段文本中找到罕见的字符,先处理下文本信息,对每个字符计数。
按照计数排序之后可以发现有一些字母只出现了1次。
于是获取计数为1的字符,并按照出现的先后顺序排序。
from pandas import DataFrame text = """ %[@&[+^@$}&{]{)+^&^#{{}@!}{^{%}#)@!%([$(_!([+({)@^(#@!)$[_&](!}@$*$@!(#[$+!@][}_* ... 太长了省略 #@}&$[[%]_&$+)$!%{(}$^$}* """ new_list = list(text) # 转为list df_list = DataFrame(new_list) # 转为DataFrame valueCounts = df_list.value_counts() # 获取每个字符计数 valueCounts_df = DataFrame(valueCounts) valueCounts_df.columns = ["indexNum"] # 设置列名 valueCounts_df = valueCounts_df[valueCounts_df["indexNum"] == 1] # 得到计数为1的字符 # 寻找字符在原字符串中出现的位置 valueCounts_df = valueCounts_df.copy() valueCounts_df["indexNum"] = valueCounts_df.index.map(lambda x: text.find(x[0])) # 按照原字符串位置进行排序 result = valueCounts_df.sort_values(by="indexNum") result_str = "" for i in result.index.to_list(): result_str += i[0] print(result_str) # equality
最后得到 equality
本文来自博客园,作者:OTAKU_undefined,转载请注明原文链接:https://www.cnblogs.com/nicole-zhang/p/15557356.html
以上是关于pythonchallenge Level 2的主要内容,如果未能解决你的问题,请参考以下文章