来自哈希编程的第82题,中级难度
https://edu.py2fun.com/learn#/challenges-group/028
1、题目要求
编写一个程序来检查给定的字符串是否为另一个字符串的子集。
定义函数is_subset(),有两个参数:sub_string和main_string(均是字符串)。
在函数内,如果sub_string是main_string的子集,则返回True,否则返回False。
例如,abc是abracadabra的子集,因为abc中的每个字符都在abracadabra中出现。
示例输入:march,charming
示例输出:True
提示:忽略字符串中字符出现的顺序,也忽略字符出现的次数
2、解题思路
根据要求,只需要判读子字符串中的各个元素出现在主字符串中即可,不用管字符串出现的顺序和次数,可以使用集合的方法进行判定
然后使用集合的issubset()
方法来判断sub_string的集合是否是main_string集合的子集。
3、实现代码
def is_subset(sub_string, main_string):
# 在此处编写你的代码
sub_set = set(sub_string)
main_set = set(main_string)
return sub_set.issubset(main_set)
# 获取用户输入
sub_string = input('输入子字符串:')
main_string = input('输入主字符串:')
# 调用函数
print(is_subset(sub_string, main_string))