Мы располагаем следующим кодом:
import random
L1= random.choice("ABCDEFGH")
L2= random.choice("ABCDEFGH")
L3= random.choice("ABCDEFGH")
L4= random.choice("ABCDEFGH")
Конкретный вопрос, который нравился бы мне отвечать: Как я могу делать для того, чтобы ассигнование random случилось без повторения в случаях L1, L2, L3, L4? А именно, что никогда не распределил себе ту же букву.
Ты можешь использовать random.sample () в Вашем месте. Это работоспособный способ получать случайную не повторенную стоимость данной последовательности. Как аргументы возьми последовательность с возможной стоимостью и nГєmero случайных элементов, которые ты хочешь получить (я доказываю k
). Возврати список с элементами Гєnicos .
from random import sample
L1, L2, L3, L4 = random.sample("ABCDEFGH", 4)
Только ты должен иметь в виду, что, как он lГіgico, список возможностей должен быть равен или большим, чем nГєmero случайных результатов, которых ты стремишься к тому, чтобы достичь.
, Если ты хочешь выбрать эти элементы в различных моментах на протяжении тебя cГіdigo (или ты хочешь использовать random.choice()
, потому что тебе нравится XD) ты можешь создавать генератор и каждый раз, когда ты захотел новый элемент просишь это у него используя next()
:
import random
def aleatorio(opciones):
opciones = list(opciones)
while True:
r = random.choice(opciones)
opciones.remove(r)
yield r
gen = aleatorio("ABCDEFG")
L1 = next(gen)
L2 = next(gen)
L3 = next(gen)
L4 = next(gen)
Что podrГ-схвати делать, он состоит в том, чтобы перемещать буквы, которые уже вышли. Вышедшие
import random
values = list("ABCDEFGH")
L1= random.choice(values)
values.remove(L1)
L2= random.choice(values)
values.remove(L2)
L3= random.choice(values)
values.remove(L3)
L4= random.choice(values)
print(L1)
print(L2)
print(L3)
print(L4)
:
A
B
H
G
Другая soluciГіn состоит в том, чтобы заменять букву, которая вышла из-за Вышедших ""
import random
values = "ABCDEFGH"
L1= random.choice(values)
values = values.replace(L1, "")
L2= random.choice(values)
values = values.replace(L2, "")
L3= random.choice(values)
values = values.replace(L3, "")
L4= random.choice(values)
print(L1)
print(L2)
print(L3)
print(L4)
:
F
B
H
A