Как я могу DRY код, который принимает несколько входов, выполняет одну и ту же функцию для каждого входа и дает все сразу для выходов? - PullRequest
1 голос
/ 14 января 2020

Я пишу код, который может рассчитывать и отображать компонент бокового ветра одновременно для 4 ВПП. Между входами (выбранные ВПП) и выходными данными (компонент бокового ветра) у меня есть 4 блока кода, в которых используется один и тот же расчет для каждой взлетно-посадочной полосы. Ради простоты я написал ответ:

first_runway = int(input("Enter the 1st runway"))
second_runway = int(input("Enter the 2nd runway"))
third_runway = int(input("Enter the 3rd runway"))
fourth_runway = int(input("Enter the 4th runway"))

crosswind1 = first_runway * 2

crosswind2 = second_runway * 2

crosswind3 = third_runway * 2

crosswind4 = fourth_runway * 2

print(crosswind1, crosswind2, crosswind3, crosswind4)

Есть ли способ использовать "* 2" только один раз?

1 Ответ

2 голосов
/ 14 января 2020

Все просто Python. Вы можете сделать что-то вроде этого:

value = []

for i in range(1, 5):
    runway = int(input("Enter the {}st runway".format(i)))
    crosswind = runway * 2
    value.append(crosswind)

print(value)
...