#python #for-loop
#python #for-цикл
Вопрос:
Прямо сейчас я работаю над файлом, в котором он позволяет настраивать пароль. Каждый раздел позволяет выбирать между именем, номером и другими разделами с определенным количеством разделов. Я не могу понять, как поместить код, который генерирует каждый раздел в цикле num_of_pass for, не повторяя текст «Что бы вы хотели в разделе #’ str(current_section) ‘? (имя, число, буква, символ, год, день, месяц) ‘ каждый раз, когда он выдает новый пароль. Как я мог заставить это работать?
names = ['Tim', 'Alex', 'Thomas', 'Katrina', 'Joshua', 'James', 'John', 'Emily', 'Mary', 'Patricia', 'Jennifer',
'Linda', 'Elizabeth', 'Robert', 'Michael', 'William', 'David', 'Richard', 'Ashley', 'Damon', 'Max']
options = ['name', 'number', 'letter', 'symbol', 'year', 'day', 'month']
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
sections = input('How many sections would you like? ')
num_of_pass = input('How many passwords would you like? ')
current_section = 1
for num in range(int(sections)):
section_type = input('What would you like in section #' str(current_section) '? (name, number, letter, symbol, year, day, month) ')
if section_type == 'name':
section = random.choice(names)
elif section_type == 'number':
section = str(random.randint(1, 9))
elif section_type == 'letter':
section = random.choice(string.ascii_letters)
elif section_type == 'symbol':
section = str(random.choice(string.punctuation))
elif section_type == 'year':
section = str(random.randint(1000, 2020))
elif section_type == 'day':
section = random.choice(days)
elif section_type == 'month':
section = random.choice(months)
password = password section
current_section = 1
print(password)
password = ''
Ответ №1:
Я думаю, вы можете просто поместить input
оператор вне цикла, или есть обходной путь — поместить его в условие:
for num in range(int(sections)):
if count == 0:
section_type = input('What would you like in section #' str(current_section) '? (name, number, letter, symbol, year, day, month) ')
count = 1
if section_type == 'name':
section = random.choice(names)
Комментарии:
1. Для обхода, что мне установить count перед запуском команды? Куда бы я ее поместил?
2. Объявите переменную count как
count = 0
вне цикла.3. Это не работает. Он выдает мне только 1 пароль, хотя я просил два, а также позволяет мне выбирать только то, что находится в первом разделе, а затем повторяет его для всех разделов,
4. Могу ли я где-нибудь связаться с вами лично? Где-нибудь мы могли бы сотрудничать, я мог бы вам помочь… У вас есть учетная запись Discord?
5. У меня нет учетной записи discord, но у меня есть skype и приложение xbox.