Python:帮助以不同的方式编写此程序。匹配字符串。确切和关闭一个字符

时间:2013-02-26 00:03:58

标签: python

我编写了这个程序,但我无法将其与我编写的另一个程序集成。我相信这个程序的编写方式正在给我带来困难。对于不同方法的任何建议都将非常感激。

此程序需要两个字符串,并确定它们是完全匹配,相差一个字符,还是它们相差多个字符。如果它们是完全匹配或相差一个字符,则返回True;如果它们之间的差异超过一个字符,则返回false。

import string

def similarstrings():
    print "This program will determine whether two strings differ"
    print "by more than one character. It will return True when they"
    print "are the same or differ by one character; otherwise it will"
    print "return False"
    str1 = raw_input("Enter first string:")
    str2 = raw_input("Enter second string:")
    str1 = ' '.join(str1)
    str2 = ' '.join(str2)
    strL1 = string.split(str1, " ")
    strL2 = string.split(str2, " ")
    x = 0
    for i in range(len(strL1)):
        if strL1[i] == strL2[i]:
            x = x + 1
        else:
            x = x
    if x >= len(strL1) - 1:
        print True
    else:
        print False

1 个答案:

答案 0 :(得分:1)

不确定1个字符的含义。您的代码似乎假设字符串的长度相同。如果是这样,这应该可行

def similarstrings(str1, str2):
    return sum(i != j for i, j in zip(str1, str2)) <= 1