2024-05-08 04:40:58 发布
网友
我们从定义映射(字符转换)的用户那里得到两个字符值,例如'a' -> 'p'。我们如何测试其他字符串对,以确定相同的映射/转换是否适用于字符串中的所有字符。例如:
'a' -> 'p'
'abcd', 'pqrs' returns True 'aaa', 'ppp' returns True 'acb', 'pqr' returns False 'aab', 'pqr' returns False
您可以通过从用户中减去第一个ASCII值来完成此操作。在
'abcd' = [97 98 99 100] subtract it by 'a' give you [0 1 2 3]. 'pqrs' = [112 113 114 115] subtract it by 'p' give you [0 1 2 3].
所以如果减法的结果是相同的,返回True
True
我们要确认字符从一个字符串到另一个字符串的偏移量(偏移量)是一致的。确保目标字符串的长度相同;计算偏移量并使用all()和生成器表达式组合,以确保在第一次未命中时完成逻辑,而不是继续检查:
all()
def test(first, second, third, fourth): if len(third) != len(fourth): return False offset = ord(first) - ord(second) return all((ord(x) - ord(y)) == offset for x, y in zip(third, fourth)) >>> test('a', 'p', 'abcd', 'pqrs') True >>> test('a', 'p', 'aaa', 'ppp') True >>> test('a', 'p', 'acb', 'pqr') False >>> test('a', 'p', 'aab', 'pqr') False
您可以通过从用户中减去第一个ASCII值来完成此操作。在
所以如果减法的结果是相同的,返回
True
我们要确认字符从一个字符串到另一个字符串的偏移量(偏移量)是一致的。确保目标字符串的长度相同;计算偏移量并使用
all()
和生成器表达式组合,以确保在第一次未命中时完成逻辑,而不是继续检查:相关问题 更多 >
编程相关推荐