gpt4 book ai didi

python : checking if all letters in two words are exactly the same but not in same order (amphisbaena)

转载 作者:太空狗 更新时间:2023-10-30 02:25:54 24 4
gpt4 key购买 nike

如果单词的前半部分和后半部分包含完全相同的字母,但顺序不一定相同,则该单词是 amphisbaena。如果单词有奇数个字母,则在此定义中忽略中间字母(或者它属于两半)。

我的代码在大多数情况下都有效,除了例如: 'eisegesis' -> eise esis我的代码不检查所有字母是否在另一个单词中只出现一次,反之亦然。字母“s”在单词的另一部分(一半)中没有出现两次。如何调整我的代码?

def amphisbaena(word):

"""
>>> amphisbaena('RESTAURATEURS')
True
>>> amphisbaena('eisegesis')
False
>>> amphisbaena('recherche')
True
"""


j = int(len(word) / 2)


count = 0
tel = 0

firstpart, secondpart = word[:j], word[-j:]
for i in firstpart.lower():
if i in secondpart.lower():
count +=1
for i in secondpart.lower():
if i in firstpart.lower():
tel +=1
if 2 * j == count + tel:
return True
else:
return False

最佳答案

我会做这样的事情:

j = int(len(word) / 2)

firstpart, secondpart = word[:j], word[-j:]
return sorted(firstpart) == sorted(secondpart)

关于 python : checking if all letters in two words are exactly the same but not in same order (amphisbaena),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47019740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com