我正在寻找一个带字符串的函数的帮助,并以各种方式替换该字符串中的每个字符.我不太确定如何说出我的问题,这样才有意义,所以我会告诉你它应该做什么.
stars('1')
returns ['*']
stars('12')
returns ['*1', '1*', '**']
stars('123')
returns ['*23', '1*3', '12*', '**3', '*2*', '**1', '***']
stars('1234')
returns ['*234', '1*34', '12*4', '123*', '**34', '*2*4', '*23*', '1**4', '1*3*',
'12**', '***4', '**3*', '*2**', '1***', '****']
这一切都是手工完成的,但即使我犯了错误,你也应该了解我现在正在寻找的东西.最后的情况(所有*)不是必需的,但我把它放在那里以确保问题得到理解.
这是我到目前为止所提出的,但它并没有完全奏效.
def stars(n):
lst = []
length = len(n)
for j in xrange(0, length):
p = list(n)
for k in xrange(j, length):
p[k] = '*'
lst += [''.join(p)]
return lst
输出:
'1' returns ['*']
'12' returns ['*2', '**', '1*']
'123' returns ['*23', '**3', '***', '1*3', '1**', '12*']
'1234' returns ['*234', '**34', '***4', '****', '1*34', '1**4', '1***', '12*4', '12**', '123*']
任何帮助将不胜感激.如果可能的话,想用Python解答,但如果你不懂Python,那么伪代码或其他语言是可以接受的.如果写得清楚,我相信我可以自己将它转换成Python.