我需要计算两个字符串中共有多少个共享字母。
s1="hello"
s2="leeo"
def shared(s1, s2):
for letter in s2:
if letter in s1:
find = s2.count(s1)
print(find)
它给我的输出:
0
0
0
0
0
0
0
None
但是它应该是:
3
我有点迷茫了。
答案 0 :(得分:2)
您的问题是您要计算字符串'hello'
中'leo'
的出现,该字符串正好为0,因为字符串'hello'
在'leo'
中不存在。
在您的情况下,变量letter
在循环中一个接一个地保存值'l'
,'e'
,'o'
。要使代码正常工作,请将行更改为
find = s1.count(letter)
答案 1 :(得分:1)
尝试这个:
s1="hello"
s2="leo"
def shared(s1, s2):
find = 0
for letter in s2:
if letter in s1:
find += 1
return find
print(shared(s1, s2))