输入字符串,求所有子集

输入一个字符串,求出所有的子集
要求:输入字符串长度小于100,只能是字母,区分大小写
输出按照原始字符串输出

请问两个母集是啥,输入的还是自带的,字符串格式是啥,

对于取子集推荐一个使用排列组合的库函数itertools.combinations,使用非常方便,参考代码如下:

def get_input():
str_in = input("请输入一个长度小于100的字符串:\n")
if (len(str_in)) < 100:
if str_in.isalpha():
return str_in
else:
print('输入的不全是字母,请重新输入')
else:
print('长度大于100,请重新输入')

def get_sub_str(src):
import itertools
for i in range(1, len(src)+1):
print("{}个字符子集:".format(i), end=" ")
for s in itertools.combinations(src, i):
print(''.join(s), end=',')
print()

if name == 'main':
for _ in range(3):
str_in = get_input()
if str_in:
sub_str = get_sub_str(set(str_in))
break
else:
print('错误次数太多,程序结束')