如何使用end=";从for循环添加字符串&引用;命令,Python 3
我正在为一个学校项目创建一个ADFGX密码。ADFGX是德国和匈牙利在第一次世界大战期间使用的密码。我想知道如何添加random.choice,以便它提供从for循环添加的关键字母。我想要的最终结果是:如何使用end=";从for循环添加字符串&引用;命令,Python 3,python,cryptography,Python,Cryptography,我正在为一个学校项目创建一个ADFGX密码。ADFGX是德国和匈牙利在第一次世界大战期间使用的密码。我想知道如何添加random.choice,以便它提供从for循环添加的关键字母。我想要的最终结果是: key = 'advbfgdfsdfsjhfusdfasfdjhjhfjsf' // this should be 25 letters long 这是我的密码: from random import choice def Cipher(keyword): alphabet = [
key = 'advbfgdfsdfsjhfusdfasfdjhjhfjsf' // this should be 25 letters long
这是我的密码:
from random import choice
def Cipher(keyword):
alphabet = [
"a", "b", "c", "d", "e", "f",
"g", "h", "i", "j", "k",
"l", "m", "n", "o", "p",
"q", "r", "s", "t", "u",
"v", "w", "x", "y", "z"
]
for i in range (25):
key = random.choice(alphabet)
print("Your key is: ", end = str(key))
无需重新定义字母表:
>>> from string import ascii_lowercase as alphabet
>>> print(alphabet)
abcdefghijklmnopqrstuvwxyz
>>>
要回答实际问题,您需要将随机选择的字母附加到每次迭代的key
,而不是每次都用新字母替换key
。也就是说,random.chooses
可能比for循环更可爱:
>>> key = "".join(random.choices(alphabet, k=25))
>>> key
'utjgvcwsyzqxyoudxggkyrymt'
>>>
另一种选择是,不清楚你在问什么
from random import choice
def Cipher(keyword):
alphabet = [
"a", "b", "c", "d", "e", "f",
"g", "h", "i", "j", "k",
"l", "m", "n", "o", "p",
"q", "r", "s", "t", "u",
"v", "w", "x", "y", "z"
]
my_str = ""
for i in range(25):
key = choice(alphabet)
my_str += key
print("Your key is:", my_str)
Cipher("")
我想我知道你想要什么
import string, random
key = "".join(random.choices(string.ascii_lowercase, k=25))
我不知道您希望从这段代码中得到什么,也不知道为什么。为什么要使用
end
?如果您需要25个长键,您已经在key
变量中有了它,只需打印:print('您的键是:',key)
我只是想知道是否需要在for循环中添加一个新变量,以便将所有内容相加,从而得到25个随机小写字符。这也起作用了——我说哪一个起作用了,还是说“谢谢你,我不想占用空间”之类的粗鲁话——我是否可以使用带有类似键[0]或NOI的索引?这都很好。是的,key
在本例中是一个字符串,因此您可以使用索引访问单个字符。