如何使用end=";从for循环添加字符串&引用;命令,Python 3

如何使用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 = [

我正在为一个学校项目创建一个ADFGX密码。ADFGX是德国和匈牙利在第一次世界大战期间使用的密码。我想知道如何添加random.choice,以便它提供从for循环添加的关键字母。我想要的最终结果是:

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
在本例中是一个字符串,因此您可以使用索引访问单个字符。