我有一个我一直在努力的代码,但它并没有输出我需要的代码。我不得不为python中的代码编写自己的算法来计算输入字符串中的字符。它就像针法中的haystack,但我不应该使用任何文本比较方法,比如count()和findall()。我希望我的代码逐个字符计算,并且不会计算重叠的字母。我正在寻找最长的常见子串。这是我的代码到目前为止,但它输出仍然是错误的。当我输入" aaaaa"在String1字段和" aa"在字符串2字段中,它输出1,但它应输出2,因为在" aaaaa"中有2" aa" s。没有重叠。
// This will compare your value to null
if ($(this).val() == null) {
// If it is null, it will set it to 0
$(this).val(0);
}
答案 0 :(得分:1)
因此,你的代码的一个问题就是你计算字符出现的方式,如果你做“aaaa”和“aa”输出就像你说的那样是2但是在你当前的代码中它将是1而不管。这是修复。
import re
test1 = input("String1: ")
test2 = input("String2: ")
common = {}
if len(test1) < len(test2):
for letter in test1:
if letter in test2:
common[letter] = len(re.findall(letter, test2))
else:
for letter in test2:
if letter in test1:
common[letter] = len(re.findall(letter, test1))
for word, count in common.items():
print("{0}\t{1}".format(word,count))
答案 1 :(得分:0)
str1=input()
str2=input()
cnt=0
if len(str1)<len(str2):
for i in str1:
if i in str2:
cnt+=1
else:
for i in str2:
if i in str1:
cnt+=1
print(cnt)