Python: Как я могу использовать для l oop, чтобы выполнить мой код 5 раз? - PullRequest
1 голос
/ 06 февраля 2020

Я новичок в python и работаю над основными c функциями и условиями.

Вот пример 1 функции в моем коде:

def oddEven(oe):
    if oe % 2 == 0:
        print("number is even")
    else:
        print("number is odd")

Всего 3 функции в моем коде (опущено, потому что не нужно). Первые два передают значение целого числа с именем first , а последняя функция принимает два целочисленных параметра и передает оба значения first и second и проверяет результат.

Вот как я их вспоминаю и проверяю свой код

first = 30
second = 60
oddEven(first)
minutes(first)
relation(first, second)

Инструкции гласят:

Запустите программу пять раз , используя предоставленный первый значения и выбранные вами вторые значения, и проверьте свои результаты. Вы также можете запустить программу один раз и использовать для l oop, чтобы выполнить свой код пять раз.

Если значения были, например, 23, 33, 14, 31 Я мог бы просто сделать:

oddEven(23)
oddEven(33)
oddEven(14)
oddEven(31)

Верно? И затем сделайте то же самое для второй функции и третьей. Как я могу сделать для l oop для этого?

Ответы [ 2 ]

3 голосов
/ 06 февраля 2020

Это простой способ сделать это:

list_values = [22,33,14,31]

for value in list_Values:
   oddEven(value)
2 голосов
/ 06 февраля 2020

Вы правы, вы используете для l oop, чтобы сделать это. Предыдущие ответы, возможно, могли перебирать список как для функций evenOdd, так и для минут, но они не обрабатывали случай, когда вы сравниваете два последовательных значения для вашей функции отношения.

Создайте список из 5 чисел и переберите его. Обработка случая, когда вы сравниваете два последовательных числа друг с другом, может быть выполнена с помощью простого оператора if, который прекращает выполнение, как только вы достигли второго до последнего элемента в списке.

Если вы еще не знакомы со списками, считайте их «контейнерами» для ваших данных; где вы можете систематически хранить и получать доступ к каждой части по одному.

В коде происходит то, что l oop выполняет итерацию по списку по одному элементу за раз. Функция range (n) принимает в качестве аргумента число n, а затем создает «диапазон» чисел от 0 до n - 1. (Например, range (2) будет перебирать в течение l oop 2 раза давая ia значение 0 в первом l oop и 1 во втором.

Элемент из списка может быть доступен с помощью такой записи: list [i], где i - число, начинающееся с 0 (следовательно, доступ к первому элементу списка) и простирается вплоть до (длина списка - 1). Таким образом, получить доступ к третьему элементу в списке можно было бы так: list [2].

Код ниже довольно модульный, так что вы можете добавить любое количество чисел в список numbers [], и это должно работать, если в списке более 1 числа. Это хорошая практика, чтобы привыкнуть к сделать ваш код как можно более модульным, вместо жесткого кодирования в константах. Это делается путем передачи (длины списка) в range (), что позволяет для l oop выполнять итерацию по списку любого размера.

Если добавить только один номер Бер к списку (напр. numbers = [42]), единственное, что могло бы произойти, это то, что код внутри оператора if не будет выполнен, так как для этого требуется, чтобы в списке было больше 1 числа. OddEven и минутная функция все еще должны работать, хотя. Go вперед и попробуй! Попробуйте добавить в список более 5 номеров.

 numbers = [23, 33, 14, 21, 42]

 for i in range(len(numbers):
     first = numbers[i]  
     oddEven(first)
     minutes(first)
     if i < (len(numbers) - 1):
         second = numbers[i + 1]
         relation(first, second)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...