假设您有两个带有隐藏值的字符串,您想知道它们是否有可能相同,例如您有单词“jupiter”,现在让“^”代表隐藏值值,例如: 'jupiter' 可以等于 = 'j^^^t^r ,但不能等于 'j^^^' 因为那只有 4 个字符,或者 '^a^^^^' 因为第二个字符不是 'jupiter' 中的 a 。我不知道如何启动该程序,再次感谢大家!
另外,Python新手,谢谢大家!
最佳答案
我会这样做:
- 确保两个字符串的长度相同。如果不是,它们就不能是同一个词。
- 迭代一个字符串并保留一个计数器变量。您可以使用
for index, letter in enumerate(word):
来简化此过程。 - 将
letter
与word2
中相同位置的字母进行比较(您可以使用word2[index]
)。 - 如果
letter
不是^
并且单词中的两个字母不同,返回 False
,因为这两个单词不能是一样。 - 循环结束后,如果尚未返回,则
返回 True
。
这是一段神秘的俏皮话,仅供引用:
len(w1) == len(w2) and all(a == b or '^' in a + b for a, b in zip(w1, w2))
或者使用正则表达式:
re.match('^{}$'.format(w2.replace('^', '.')), w1)
关于python - 比较字符串并确定它们是否与隐藏值相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12967455/