如何从aa生成一系列字符串。。。到zz

2024-06-16 10:33:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个Python程序,在这个程序中它接受一个字符串并显示基于该字符串的排列。在

例如。在

如果用户输入“[AAA]Grim”,它应该生成从“AAA Grim”到“aab Grim”,然后是“aac Grim”到“zzz Grim”等单词。 或者如果用户输入“[AA]Grim”,它应该生成“AA Grim”、“ab Grim”、“ac Grim”到“zz Grim”

对不起,题目不清楚。如果没有例子,我不知道如何表达我所需要的东西。:)


Tags: 字符串用户程序ab单词ac例子aa
3条回答

如果我明白你的意思,下面这些就可以了:

import re
import string
import itertools

user_in = input("Enter string: ")
p_len = user_in.index(']') - user_in.index('[')
text = user_in[user_in.index(']')+1:]
print('\n'.join([ ''.join(p) + text for p in itertools.combinations_with_replacement(string.ascii_lowercase,r=p_len-1)]))

将产生(摘录):

^{pr2}$
input = '[AAA] Grim'
n = len(input.split(' ')[0]) - 2
s = input[n+2:]
a = [''.join(x)+s for x in itertools.product(string.ascii_lowercase, repeat=n)]
>>> import string
>>> ltrs = string.lowercase
>>> [''.join([a,b]) for a in ltrs for b in ltrs]

代码从这里开始:https://mail.python.org/pipermail/tutor/2005-July/040117.html

我找到了,效果太好了!在

相关问题 更多 >