Python挑战练习-进阶练习41
编写一个程序来计算两个给定单词之间相同字符的数量。
需要考虑字符是区分大小写的(即a和A是不同的字符)。
例如,单词cookie和cool有两个字符相同:c和o。因此,输出应该是2。
另一方面,单词Blow和beer没有相同的字符,因为B和b视为不同的字符。
-
定义函数
shared_chars_count()
,有两个参数:word1
和word2
。 -
该函数应返回两个单词中相同字母的数量。
分析:
-
考虑字符区分大小写
-
一个相同字符计数一次
相同字符计数一次,针对这一点,可以先把 word1和word2转成集合,这样word1和word2就都不含有重复出现的字母,然后再比较即可。这个“比较”可以利用集合之间的交集运算,再获取交集中元素个数,就能知道两个给定单词之间相同字符的数量。
def shared_chars_count(word1, word2):
set_word1 = set(word1)
set_word2 = set(word2)
common_set = set_word1.intersection(set_word2)
return len(common_set)
# 获取输入
word1 = input()
word2 = input()
# 调用函数
print(shared_chars_count(word1, word2))