您好我想创建一个将使用增强功能(只更改已经创建它的单词)并在给定数字n的部分内打印新单词的函数。 S =测试的例子我应该得到('## 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))
答案 0 :(得分:2)
立即修复。而不是:
for i in range (n <= len(S)):
我想你想要:
for i in range(n, len(S) + 1):
这会在n <= i < len(s)
范围内为您提供 i 的值。
另外,正如Alex Hall建议的那样,改变:
print(exploder(S,n))
只是:
exploder(S,n)
exploder 函数返回无。因此,打印是您的虚假无输出的来源。
答案 1 :(得分:1)
def enhance(S, n):
S = "#" * (n - 1) + S + "%" * (n - 1)
return S
def exploder(S, n):
S = enhance(S, n)
for i in range(len(S)-n+1):
print(S[i:i+n])
S = "test"
n = 3
exploder(S, n)
输出:
##t
#te
tes
est
st%
t%%