Как можно сократить этот код, если значения в скобках всегда разные? Это уже не сократить for i in range(n)...
Ответы на вопрос
Если значения в скобках действительно всегда разные и между ними нет закономерности, то «сократить» код математически не получится: эти значения всё равно надо где-то перечислить.
Но можно убрать повторяющуюся часть, вынеся разные значения в список или кортеж и пройтись по нему циклом:
Pythonfor value in (3, 17, 42, 8, 91):
function(value)
Вместо:
Pythonfunction(3)
function(17)
function(42)
function(8)
function(91)
range(n) подходит только когда аргументы образуют последовательность, например:
Pythonfor i in range(1, 10):
function(i)
Если аргументы произвольные, нужен не range, а контейнер с этими аргументами:
Pythonvalues = [12, 5, 38, 101, 7]
for value in values:
function(value)
Когда у функции несколько разных параметров, удобно хранить наборы аргументов:
Pythondata = [
(1, 10),
(4, 25),
(8, 3),
]
for a, b in data:
function(a, b)
Либо универсально:
Pythondata = [
(1, 10),
(4, 25),
(8, 3),
]
for args in data:
function(*args)
То есть цикл сокращает не сами уникальные значения, а одинаковую повторяющуюся конструкцию вокруг них. Если каждое выражение отличается не только числами в скобках, но и самой логикой, то сокращать обычно уже не стоит: явный код будет понятнее.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

