python как задать неравенство двух рандомных чисел? assert тут не работает
r1 = random.randrange(1,6,1)
r2 = random.randrange(1,6,1)
team_home, team_away = '', ''
rr = (r1, r2)
for r in rr:
assert r1 != r2
AssertionError:
Что делать?
Ответы (2 шт):
Автор решения: CrazyElf
→ Ссылка
Если вы хотите получить два (или сколько хотите) заведомо разных рандомных числа из определённого диапазона, предлагаю вам такой рецепт:
import random
r = list(range(1, 6))
random.shuffle(r)
r1, r2 = r[:2]
print(r1, r2)
Т.е. делаем список чисел нужного диапазона, перемешиваем его случайным образом, и берём из него нужное кол-во чисел, например, с начала списка.
assert же используется совсем не для этого, обычно его используют в тестах, чтобы проверить, что написанная вами функция работает правильно.
Автор решения: GrAnd
→ Ссылка
В модуле random есть специальная функция для этого.
r1, r2 = random.sample(range(1,6), k=2)