gpt4 book ai didi

python - 在切片字符串中插入字符串(Python)

转载 作者:行者123 更新时间:2023-12-04 08:11:51 24 4
gpt4 key购买 nike

所以我在编程世界中很新,如果这个问题已经回答了一百万次,我提前道歉,但我找不到我的具体问题的答案。
我正在制作一个简单的密码生成器,它以单词列表作为输入,例如:test = ['carpe', 'diem']> 所需的输出会像*7carZpe-hd_iemA:所以这是在每个单词周围和之间随机生成的 2 个字符,在单词中的随机位置一个随机生成第二部分是我挣扎的地方。
在终端中,运行 python 时,我可以执行以下操作:test[0] = test[0][0:2] + '7' + test[0][2:]所以carpe现在是ca7rpe并且它工作正常。
这是我编写的两个函数:(我从字符串中导入随机和 ascii_letters、数字、标点符号)

def random_generation(length):
string = f'{ascii_letters}{punctuation}{digits}'
string = list(string)
random.shuffle(string)
randomised = random.choices(string, k=length)
randomised = ''.join(randomised)
return randomised

def custom_generation(listOfWords):
for words in range(0, len(listOfWords)):
word = listOfWords[words]
randomInsert = random.randint(0, len(word))
word = word[0:randomInsert] + random_generation(1) + word[randomInsert:]


for insertion in range(0, (len(listOfWords) * 2) + 1, 2):
listOfWords.insert(insertion, random_generation(2))
password = ''.join(listOfWords)
return password
我的猜测是我在第一个 for 循环中做错了,但即使经过几次修改并尝试我也找不到方法。
非常感谢你 !

最佳答案

如果我没有弄错您的代码缺少将更改后的单词分配回列表,请尝试替换

for words in range(0, len(listOfWords)):
word = listOfWords[words]
randomInsert = random.randint(0, len(word))
word = word[0:randomInsert] + random_generation(1) + word[randomInsert:]
使用
for words in range(0, len(listOfWords)):
word = listOfWords[words]
randomInsert = random.randint(0, len(word))
listOfWords[words] = word[0:randomInsert] + random_generation(1) + word[randomInsert:]

关于python - 在切片字符串中插入字符串(Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65916564/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com