Ребят, привет. Я полный новичок в пайтон. Скажите, как в этом коде сделать так, чтобы значения в random_index не повторялись, даже если нарандомайзить их сотни?
from random import randrange
#1 — Импорт Рэндрэнджа.
list = ["a", "i", "u", "e", "o", "ka", "ki", "ku", "ke", "ko"]
#3 — Список (Массив) с транскрипциями.
translate = ["あ", "い", "う", "え", "お", "か", "き", "く", "け", "こ"]
#5 — Список (Массив) с буквами.
num_to_select = int(input("Введите кол-во элементов для отображения: "))
#7 — Введение количество отображаемых элементов.
random_index = []
#9 — Пустой список (Массив), в который мы будем добавлять рандомные индексы из строки 14.
answers = []
#11 — Пустой список (Массив),в котором будут храниться правильные ответы.
i = 0
#13 — Переменная i с присвоенным значением 0.
while i < num_to_select:
random_index.insert(i, (randrange(len(list))))
i += 1
#15 — Пока переменная i меньше переменной num_to_select, идет цикл.
#16 — Переменная random_index является пустым списком (Массивом). читает 16 строку с конца.
#Берётся список list, с помощью функции len, в нём считается количество символов (в нашем случае 10). с помощью функции randrange, которую мы можем использовать, импортировав её из модуля "random" с первой строки, мы выбираем из этих 10 символов,что нам посчитал len, одно случайное. предположим, 5. Дальше происходит проверка индекса, что в нашем случае - это i, который равен 0. Таким образом, мы в список random_index на нулевой индекс (который отметил i), вставляем элемент списка list, который для нас выбрал randrange (в нашем случае 5, то есть "o"), с помощью команды insert.
#17 — После этого,мы добавляем единицу в переменную i и повторяем цикл. Только вместо нуля у нас будет единица. И так до конца цикла.
i = 0
#22 — Приравниваем i к нулю.
while i < num_to_select:
a = input ("Введите символ: " + str(list[random_index[i]]) + " ")
answers.insert(i, a)
i += 1
#24 — Пока переменная i меньше переменной num_to_select, идет цикл.
#25 — Читаем с конца строки. i является индексом, который мы выбираем из random_index, для того,чтобы этот индекс, который мы выбрали, выбрал элемент из листа.То есть, нулевой индекс рандом_индекса предположим 5. Он возьмет 5 элемент из списка. А потом мы прибавляем к i + 1 и продолжаем цикл.
#26 — Введённый нами ответ в переменной a, мы приравниваем к индексу i и вставляем в список (Массив) по номеру индекса i.
i = 0
while i < num_to_select:
if answers[i] == translate[random_index[i]]:
print ("Верно!")
else:
print ("Ошибка в "+ str(i+1) + " слоге! Правильный ответ: "+ translate[random_index[i]])
i += 1