我如何循环连接
How can I loop through a concatenation
我正在尝试用“.”拆分单词然而,在我成功完成每个字母之后,我的下一步是再次拆分当前拆分的单词,但我不想重复变化。
我的预期输出是这样的:
输入单词:amaxa
第一个循环将给出 - a.maxa, am.axa, ama.xa, amax.a
那么下一次拆分应该给出 - a.m.axa, a.ma.xa,a.max.a
,
本质上,我想要带有“.”的单词的不同变体。然而,当一个完整的循环用完时被添加,我的主要问题是我有 '.'s 出现在彼此旁边,我尝试使用 continue 语句但它没有用。下面是我的源代码
print("enter email without @gmail.com")
word = input("word: ")
lenofword = len(word) - 1
for i in range(0,lenofword):
sliceword = word[:1+i] + "." + word[1+i:]
lis.append(sliceword)
print(sliceword)
for j in range(0,lenofword):
slices = sliceword[:1+j] + "." + sliceword[j+1:]
if slices[i:] == slices[:]:
continue
print(slices)
给出的输出:
enter email without @gmail.com
word: amax
a.max
am.ax
a.m.ax
am..ax
am..ax
ama.x
a.ma.x
am.a.x
ama..x
基本上我想去掉 'am..ax' 和 'ama..x'
更容易选择应该放置点的两个位置(对于单个点的情况可能是相同的位置)。例如:
for i in range(1, lenofword + 1):
for j in range(i, lenofword + 1):
sliced = ".".join(filter(None, [word[:i], word[i:j], word[j:]]))
print(sliced)
这将为输入词 "amax"
打印以下内容:
a.max
a.m.ax
a.ma.x
am.ax
am.a.x
ama.x
我正在尝试用“.”拆分单词然而,在我成功完成每个字母之后,我的下一步是再次拆分当前拆分的单词,但我不想重复变化。
我的预期输出是这样的:
输入单词:amaxa
第一个循环将给出 - a.maxa, am.axa, ama.xa, amax.a
那么下一次拆分应该给出 - a.m.axa, a.ma.xa,a.max.a
,
本质上,我想要带有“.”的单词的不同变体。然而,当一个完整的循环用完时被添加,我的主要问题是我有 '.'s 出现在彼此旁边,我尝试使用 continue 语句但它没有用。下面是我的源代码
print("enter email without @gmail.com")
word = input("word: ")
lenofword = len(word) - 1
for i in range(0,lenofword):
sliceword = word[:1+i] + "." + word[1+i:]
lis.append(sliceword)
print(sliceword)
for j in range(0,lenofword):
slices = sliceword[:1+j] + "." + sliceword[j+1:]
if slices[i:] == slices[:]:
continue
print(slices)
给出的输出:
enter email without @gmail.com
word: amax
a.max
am.ax
a.m.ax
am..ax
am..ax
ama.x
a.ma.x
am.a.x
ama..x
基本上我想去掉 'am..ax' 和 'ama..x'
更容易选择应该放置点的两个位置(对于单个点的情况可能是相同的位置)。例如:
for i in range(1, lenofword + 1):
for j in range(i, lenofword + 1):
sliced = ".".join(filter(None, [word[:i], word[i:j], word[j:]]))
print(sliced)
这将为输入词 "amax"
打印以下内容:
a.max
a.m.ax
a.ma.x
am.ax
am.a.x
ama.x