Как напечатать определенный элемент из цикла for в Python? - PullRequest
0 голосов
/ 19 апреля 2019

У меня есть этот код, который должен выбрать 4 случайных слова из списка и соединить их вместе, чтобы создать пароль

passphr = []

for r in range(4):

    passphr.append(secrets.choice(words_lst))

    print(passphr)

Это напечатает:

['cognitive']

['cognitive', 'shakespeare']

['cognitive', 'shakespeare', 'connectors']

['cognitive', 'shakespeare', 'connectors', 'municipal']

Как мнезаставить его распечатать только последнюю строку со всеми словами, соединенными вместе?

Ответы [ 3 ]

1 голос
/ 19 апреля 2019

Вы можете использовать объединить и печатать вне цикла.

passphr = []

for r in range(4):
    passphr.append(secrets.choice(words_lst))

print(''.join(passphr))
1 голос
/ 19 апреля 2019

Вне цикла сделать:

passphr = ''.join(passphr)

Итак:

passphr = []

for r in range(4):
    passphr.append(secrets.choice(words_lst))

passphr = ''.join(passphr)
print(passphr)
>>> cognitiveshakespeareconnectorsmunicipal
0 голосов
/ 19 апреля 2019

Поскольку у вас есть print внутри цикла, вы печатаете каждый раз, когда к нему добавляется passphr.Если вы хотите, чтобы он печатался только один раз, оператор print должен находиться вне цикла.Чтобы напечатать содержимое списка одним словом:

print (''.join(passphr)

cognitiveshakespeareconnectorsmunicipal

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...