此代码的输出继续为4。但是,输出应该是3。设定的交集之所以存在,是因为我相信这是通往答案的关键。答案是4而不是3的原因来自于s1中与s2匹配的2个qs和1r的数量。在
s2 = "qsrqq"
s1 = "qqtrr"
counts1=0
counts2=0
letters= set.intersection(set(s1), set(s2))
for letter1 in set(s1):
counts1 += s2.count(letter1)
for letter2 in set(s2):
counts2 += s1.count(letter2)
counts = min(counts1, counts2)
print (counts)
任何帮助都是非常感谢的。在
如果您想维护共同字符数的计数,应该使用collections.Counter而不是{}。在
我替换了你原来的代码
收件人:
^{pr2}$它输出,它是具有发生计数的字母:
它是正确的,字符串}
计数正确。同样,如果检查第二个for循环,输出为:
s2
是qsrqq,您检查set(s1),它包含r
和{因此,最小计数为4。在
这导致:
^{pr2}$分析,2是正确答案(q和r是两者唯一的共同字母),3是任一组唯一值的较低数目。在
相关问题 更多 >
编程相关推荐