首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python挑战- #3 *剧透*

Python挑战- #3 *剧透*
EN

Stack Overflow用户
提问于 2015-07-27 17:04:18
回答 1查看 469关注 0票数 0

在进行了一些提示搜索之后,我发现必须使用import re并使用正则表达式。答案是“链接列表”。http://www.pythonchallenge.com/pc/def/equality.html

但我很好奇,我做错了什么,我以前尝试解决它?

代码语言:javascript
复制
tekstas = "the string that i need to decode"

possible_solution = []

for i in range(0, len(tekstas)):
    if ((ord(tekstas[i]) < 123) and (ord(tekstas[i]) > 96)) and ((ord(tekstas[i-1])) > 64) and ((ord(tekstas[i-1])) < 90) \
    and ((ord(tekstas[i-2])) > 64) and ((ord(tekstas[i-2])) < 90) and ((ord(tekstas[i-3])) > 64) and ((ord(tekstas[i-3])) \
    < 90) and ((ord(tekstas[i+1])) > 64) and ((ord(tekstas[i+1])) < 90) and ((ord(tekstas[i+2])) > 64) and \
    ((ord(tekstas[i+2])) < 90) and ((ord(tekstas[i+3])) > 64) and ((ord(tekstas[i+3])) < 90):
         possible_solution.append(tekstas[i-4]+tekstas[i-3]+tekstas[i-2]+tekstas[i-1]+tekstas[i]+tekstas[i+1]+tekstas[i+2]+\
            tekstas[i+3]+tekstas[i+4])

for i in range (0, len(possible_solution)):
    candidate = possible_solution[i]
    if (ord(candidate[0]) < 123) and (ord(candidate[0]) > 96) and (ord(candidate[8]) < 123) and (ord(candidate[8]) > 96):
        print(candidate[1:8])

我得到的答案: IQNlQSL OEKiVEY CNDeHSB OIXdKBF CJAsACF KWGtIDC

我从中得到的小字母:谎言,为什么我少了几个字母?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-27 17:17:22

您正在排除Z,因为您正在用(ord(tekstas[i-2])) < 90而不是(ord(tekstas[i-2])) < 91测试大写字母。

请注意,这里根本不需要使用ord(),您可以直接与字母进行比较:

代码语言:javascript
复制
tekstas[i-2] < '['

或者更直接地识别:

代码语言:javascript
复制
tekstas[i-2] <= 'Z'

您也不需要单独的tekstas[i-2] >= 'A' and tekstas[i-2] <= 'Z'测试;您可以使用链式比较:

代码语言:javascript
复制
'A' <= tekstas[i-2] <= 'Z'

然而,最简单的方法是使用 method

代码语言:javascript
复制
tekstas[i-2].isupper()

对于默认的区域设置,只有当字符串中的所有字符都是大写ASCII字母时,才是正确的。

这意味着您可以一次测试多个字母;与str.islower()一起,您的第一个if测试可以简化为:

代码语言:javascript
复制
tekstas[i].islower() and (tekstas[i - 3:i] + tekstas[i + 1:i + 4]).isupper()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31659103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档