Как сравнить элементы в списке, чтобы найти нечетные числа и распечатать их? - PullRequest
0 голосов
/ 09 июля 2019

В приведенной ниже задаче функция get_numbers () используется для считывания пользователем целого числа. Определены три незавершенных функции, которые должны печатать только определенные типы чисел, введенные пользователем. Завершите незавершенные функции, добавив петли и ветки, где это необходимо. Сопоставьте вывод с приведенным ниже примером:

Номера: 5 99 -44 0 12

Я уже понял, как выполнить первую функцию. Трудно провести сравнение нечетных и нечетных чисел.

Почему-то

def print_odd_numbers(numbers):
    if numbers % 2 == 1:
    print('Odd numbers:', numbers)

не работает?

size = 6

def get_numbers(num):
    numbers = []
    user_input = input('Enter %s integers:\n' % num)

    i = 0
    for token in user_input.split():
        number = int(token)     # Convert string input into integer
        numbers.append(number)  # Add to numbers list

        print(i, number)
        i += 1

    return numbers

def print_all_numbers(numbers):
    # Print numbers
    print('Numbers:')

def print_odd_numbers(numbers):
    # Print all odd numbers
    print('Odd numbers:')

def print_negative_numbers(numbers):
    # Print all negative numbers
    print('Negative numbers:')

nums = get_numbers(size)
print_all_numbers(nums)
print_odd_numbers(nums)
print_negative_numbers(nums)

Enter 5 integers:
0 5
1 99
2 -44
3 0
4 12
Numbers: 5 99 -44 0 12
Odd numbers: 5 99
Negative numbers: -44

Ответы [ 2 ]

0 голосов
/ 09 июля 2019

Код не работает, потому что numbers - это список чисел. Попробуйте этот код:

def print_odd_numbers(numbers):
    print('Odd numbers: ')
    for n in numbers:
        if n % 2 == 1:
            print(n, end=' '))

Вы также можете использовать понимание списка:

def print_odd_numbers(numbers):
    odd = [n for n in numbers if n % 2 == 1]
    print('Odd numbers:', ' '.join(map(str, odd)))
0 голосов
/ 09 июля 2019
Модуль

должен быть равен == 0, чтобы считаться четным, а если число% 2! = 0, то оно будет читаться как нечетное число

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...