两个字符串之间的相似
我想比较两个字符串之间的相似性。我做到了成功import
SequenceMatcher
两个字符串之间的相似
结果应该只返回3种可能性,
我)好这意味着第二个字符串包含第一的字符串中。例如:咂嘴和MAC
ⅱ)几乎良好这意味着包含在第一串第二字符串的一部分。例如:smack和smart。 两者都有60%的相似性,应该归类为差不多。
iii)不好这意味着第一个字符串中包含的第二个字符串中没有任何元素。例如:嫌和面包车
但是,如果我想没有importhing SequenceMatcher执行相同的任务,我将如何能够执行呢?我被困在编写一个算法来分割字符串并与另一个字符串进行比较。另外,是否有定义算法SequenceMatcher?
这里有一个链接到我的代码
Sa=input('enter something A: ')
Sb=input('enter something B: ')
Sc=Sa.lower()
Sd=Sb.lower()
from difflib import SequenceMatcher
if Sd in Sc or SequenceMatcher(a=Sc,b=Sd).ratio() ==1:
print('Good')
if Sd not in Sc and 0<SequenceMatcher(a=Sc,b=Sd).ratio() <1:
print('Almost Good')
if SequenceMatcher(a=Sc,b=Sd).ratio() ==0:
print('Bad')
非常感谢!
我以前if-elif
代替If
Sa=raw_input('enter something A: ')
Sb=raw_input('enter something B: ')
Sc=Sa.lower()
Sd=Sb.lower()
count = 0
for val in Sc:
for char in Sd:
if char == val:
count = count + 1
if count == 0:
print("Bad")
elif Sc in Sd or Sd in Sc:
print('Good')
else:
print('Almost Good')
感谢您的解决方案和编辑。完美的作品!再次感谢! –
我可以知道我应该怎么做才能限制字符串1的值之间的差异。你写的代码返回几乎很好,即使对于很多和火星 –
这意味着,在n值的差异最多允许不同 –
请发表您的代码 –
对不起,我是比较新的堆叠交换,我应该编辑自己的帖子,并贴在它整个代码? 对不起混淆 –
我编辑你的代码 –