Как напечатать список четных чисел, используя Python - PullRequest
1 голос
/ 10 апреля 2019

Я пытаюсь написать программу на python, которая будет запрашивать у пользователя целое число больше 1 и считывать эти целые числа в список, после чего создадут два списка и вернут эти значения.С чего мне начать?

Создан список под названием «listOfNumbers».Мне нужно создать новый список, который содержит только целые числа из listOfNumbers, которые даже вводят в listOfNumbers.

def make_a_list(*listOfNumbers):
    for x in numList:
        if x % 2 == 0:
        print x
        listOfNumbers.append(x)

print(make_a_list(4, 5, 6, 7, 9, 11, 10, -12, -18, 1, 0)

Я исключил список, который имеет тип пользователя в серии чисел, но я не уверен, какэто получится.

Ответы [ 3 ]

0 голосов
/ 10 апреля 2019

это даст вам список всех четных чисел

def make_a_list(*listOfNumbers):
    even_list =[]
    for num in listOfNumbers:
        if num%2==0:
            even_list.append(num)
    return even_list
print(make_a_list(4, 5, 6, 7, 9, 11, 10, -12, -18, 1, 0))
# output [4, 6, 10, -12, -18, 0]

это даст вам цифры при четных индексах

def even_indices(*listOfNumbers):
    return listOfNumbers[2::2]


print(even_indices(4, 5, 6, 7, 9, 11, 10, -12, -18, 1, 0))
# output (6, 9, 10, -18, 0)
0 голосов
/ 10 апреля 2019

Используйте range () для увеличения на два при цикле.

def make_a_list(*listOfNumbers):
    output_list = []
    for i in range(0, len(listOfNumbers), 2):
        output_list.append(listOfNumbers[i])
    return output_list
0 голосов
/ 10 апреля 2019

Как отметил @geckos, вы можете просто использовать индексирование для указания этого диапазона. Предположим, у нас есть:

my_list = [4, 5, 6, 7, 9, 11, 10, -12, -18, 1, 0]

И мы хотим, чтобы вечера использовали схему подсчета [1, 2, 3, 4, 5, ...], тогда мы бы назвали:

print(my_list[1::2])

Выведение:

[5, 7, 11, -12, 1]

Это потому, что вы указываете индекс как [start:stop:step size], но обычно размер шага опускается, и поэтому по умолчанию равен 1.

Если вместо этого вы имеете в виду схему подсчета [0, 1, 2, 3, 4, 5, ...], просто настройте индекс на [::2]

Обратите внимание, что вы также можете использовать отрицательные размеры шагов. Например:

print(my_list[::-1])

Выводит список в обратном порядке или:

[0, 1, -18, -12, 10, 11, 9, 7, 6, 5, 4]

Для помещения в функцию это будет выглядеть так:

def make_a_list(input_list):
    even_index_list = input_list[1::2]
    return even_index_list
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...