python - 如何在字符串的特定位置添加随机生成的字符?
问题描述
我正在处理一个需要我从文件中读取字符串的问题,并且:
- 扭转它
- 将定义整数加密强度。它可以设置为 0 到 255 之间的任何整数值。
- 根据加密强度的值,将在步骤 1 中反转字符串的每个字母之间插入一些随机字母或数字。
例如,如果强度设置为 1,单词 hello 可以加密为o x l a l 9 e l h。
另一个例子,如果强度为 2,单词 hello 可以加密为 o xi l 4h l rc e 6r h。
我的代码总体上工作正常,但问题是我每次都会在字符串的字母之间插入重复的随机字符。
这是我的代码,请帮助我识别错误。
代码
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
推荐阅读
- javascript - REACT: Translator Component | Setting & Accessing State
- python - Google Assistant on rgb matrix with Raspberry Pi
- java - 只有在用户选择的情况下,我如何才能使我的扣除有效?
- android - 如何在 APK 文件中找到启动路径?
- javascript - 这是处理 JavaScript 承诺的正确方法吗?
- angular - 测试套件未能运行,Jest 遇到了意外的令牌
- plot - 在同一窗口中的gnuplot中循环绘图
- c# - 多个对话框的全局用户配置文件状态
- bash - 为什么'$(< file)' 等同于 bash 中的'$(cat file)'?
- sql-server - Sql Server 中带有小数结果的问题