Как можно уменьшить размер строк в условии?
Это лиш для примера, просто у меня большой список, и хочется понять как можно сократить.
import random
my_list = ["b1", "b2", "b3", "b4"]
k = random.choice(my_list)
r_st = sum([random.randrange(1, 4) for i in range(2)])
r_lt = sum([random.randrange(1, 4) for i in range(2)])
if k == "b1":
print(str(r_st) + str(r_lt))
elif k == "b2":
print(str(r_st + 10) + str(r_lt))
elif k == "b3":
print(str(r_st) + str(r_lt + 20))
elif k == "b4":
print(str(r_st + 10) + str(r_lt + 40))
Ответы (2 шт):
Автор решения: Ivan Ivanov
→ Ссылка
Если Вы про блок if, то можете попробовать использовать оператор math-case
Автор решения: Be3y4uu_K0T
→ Ссылка
Можно коэффициенты вынести в варианты списка:
import random
my_list = [
("b1", 0, 0),
("b2", 10, 0),
("b3", 0, 20),
("b4", 10, 40)
]
k, dr_st, dr_lt = random.choice(my_list)
r_st = sum([random.randrange(1, 4) for i in range(2)])
r_lt = sum([random.randrange(1, 4) for i in range(2)])
print(f'{r_st + dr_st}{r_lt + dr_lt}')