from itertools import product, izip
def Cc(s):
s = s.lower()
for p in product(*[(0,1)]*len(s)):
yield ''.join( c.upper() if t else c for t,c in izip(p,s))
print list(Cc("Dan"))
import itertools
def comb_gen(iterable):
#Generate all combinations of items in iterable
for r in range(len(iterable)+1):
for i in itertools.combinations(iterable, r):
yield i
def upper_by_index(s, indexes):
#return a string which characters specified in indexes is uppered
return "".join(
i.upper() if index in indexes else i
for index, i in enumerate(s)
)
my_string = "abcd"
for i in comb_gen(range(len(my_string))):
print(upper_by_index(my_string, i))
印刷品:
^{pr2}$输出:
^{pr2}$与Dan的解决方案类似,但要简单得多:
^{pr2}$相关问题 更多 >
编程相关推荐