if s1 == s2:
return 0
elif len(s1) == len(s2):
mismatch = 0
for i,j in zip(s1,s2):
if i != j:
mismatch +=1
if mismatch == 1:
return 1
elif len(s1) != len(s2):
mismatch = 0
for i,j in zip(s1,s2):
if i != j:
mismatch +=1
if mismatch > 1:
return 2
我被要求编写一个代码,比较两个字符串,这些字符串将作为函数的参数接收。在遍历它们时,如果它们都相同,则必须返回0;如果一个字符中存在不匹配,则返回1;如果两个字符的长度不相同,或者超过1个字符不匹配,则返回2。匹配字符串中的字符并返回值
当我尝试“罪”和“汇”作为输入字符串,我的代码不返回任何东西?我试图用许多不同的方法来改变我的代码,但它没有帮助。如果字符串中的空格和另一个字符之间存在一个字符的差异,它也不会返回任何内容。
这似乎是一个很简单的一段代码,但我不能似乎将它写的权利。如果我试图通过使用.lower()来解决空间和另一个字符的问题,那么它不会在字符串末尾的'k'处找到。如果我用.upper()修复它,它不会返回任何东西。我没有看到我做错了什么。
可能的重复。有很多。不确定选哪一个。 http://stackoverflow.com/search?q=single_insert_or_delete+is%3Aquestion – Lafexlos
对于“罪” /“汇”问题检查这个问题的答案: [Python的:拉链般的功能垫长度最长] (http://stackoverflow.com/questions/1277278/python-zip-like-function-that-pads-to-longest-length) – alexs
所有我能说的是.... LOL –