您好,我想创建一个函数,该函数将使用enhance(它只是更改已生成的单词)并在给定数字n的部分中打印新单词。例如,S=t est I should get('###t','#te','tes','est','st%','t%')

def enhance(S,n):
    S = "#"*(n-1)+S+"%"*(n-1)
    return S

def exploder(S,n):
    S = enhance(S,n)
    x=0
    for i in range (n <= len(S)):
        print(S[x:i])
        x=x+1


S="test"
n = 3
for n in range (0,n):
    print(exploder(S,n))
    n=n+1
print(exploder(S,n))

最佳答案

一个即时的解决方案。而不是:

  for i in range (n <= len(S)):

我想你想要:
  for i in range(n, len(S) + 1):

这将给出i在n <= i < len(s)范围内的值。
另外,正如alex hall所建议的,改变:
print(exploder(S,n))

只是:
exploder(S,n)

exploder函数未返回任何值所以打印是你的假无输出的来源。

09-25 18:16