本文介绍了如何在字符串的特定位置添加随机生成的字符?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在处理一个需要我从文件中读取字符串的问题,并且:
I am working on a problem that requires me to read a string from the file and:
- 反转它
- 将定义整数加密强度.有可能设置为 0 到 255 之间的任何整数值.
- 根据加密强度的大小,会随机插入一些字母或数字在步骤 1 中反转字符串中的每个字母之间.
例如,如果强度设置为 1,则单词 hello 可以加密为 oxlal9elh.
再举个例子,如果强度为2,可以将hello这个词加密为oxil4hlrce6rh.
Another example, if the strength is 2, the word hello can be encrypted tooxil4hlrce6rh.
我的代码总体运行良好,但问题是我每次都会在字符串的字母之间插入重复的随机字符.
My code works overall fine, but the problem is I get repeated random characters inserted between the letters of string, every time.
这是我的代码,请帮助我识别错误.
Here's my code, kindly help me identify the error.
代码
def encrypt():
data = "hello"
content = data[::-1]
encryption_str = 2
characters = string.ascii_uppercase +string.ascii_lowercase+
string.digits
res = (random.choice(characters).join(content[i:i + encryption_str] for i
in range(0, len(content)))) #I am stuck here
print(res)
encrypt()
输出
推荐答案
这会正常工作:
import string, random
def encrypt():
data = "hello"
content = data[::-1]
encryption_str = 2
characters = string.ascii_uppercase +string.ascii_lowercase+string.digits
res = ""
res+=content[0]
for i in range(1,len(content)):
for j in range(encryption_str):
res+=random.choice(characters)
res+=content[i]
print(res)
encrypt()
输出
oLal5ilWremph
这篇关于如何在字符串的特定位置添加随机生成的字符?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!