python练习题41


求解字符串数字组合
Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数,其中combinations, permutations是用求解组合和排列的函数。 请输入一个有由数字大小写字母组成的字符串 与 一个整数 n,去掉字符串中大小字母仅保留数字的字符串,输出去重后数字符串的n位全组合。
输入格式:
例如:
第一行输入至少含一个数字字符的一串字符串,例如:ABC12DE3De125DE4(去重后数字字符串:12354);
第二行输入一整数n:( 保证n小于等于 去重后数字字符串的长度)。
输出格式:
去重后数字字符串按从大到小的全组合。每种组合占一行,字符间无空格。排列的输出顺序为字典顺序。
输入样例:
在这里给出一组输入。例如:
ABC12DE3De125DE4
3
答:
import itertools
s=list(input())
n = int(input())
list1=[]
for i in s:
if i.isdigit() == True and i not in list1:
list1.append(i)
list1.sort(reverse = True)
for j in list(itertools.combinations(list1,n)):
print(*j,sep='')

