@dreameddd

Как повторить команду условия?

Как повторить команду условия с изменением одного или нескольких параметров, чтобы можно было не переписывать одинаковый (тот же самый) код?
if name == list1:
    random.choices(list, weights=[25, 25, 25, 25], k=1)[0]
else:
    random.choices(list, weights=[10, 10, 30, 50], k=1)[0]

В данном случае нужно изменить только weights, чтобы в True он равнялся: weights=[25, 25, 25, 25], а в False равнялся: weights[10, 10, 30, 50]. Получается, что различие только в параметре weights, а остальной код в else - такой-же, как и в if
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
@Shroud228
if name == list1:
    my_weights = [25, 25, 25, 25]
else:
    my_weights = [10, 10, 30, 50]

random.choices(list, weights=my_weights, k=1)[0]
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
MinTnt
@MinTnt
Любитель однострочников (Версия 1.106)
random.choices(list, weights=[25, 25, 25, 25] if name==list1 else [10, 10, 30, 50], k=1)[0]
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы