Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2022, 10:40   #1
ГиперФлюойд
 
Регистрация: 13.02.2022
Сообщений: 4
По умолчанию Python Списки

Код:
x = int(input())
while x != 0:
    x = int(input())
    if x%2 == 0:
        a = []
        a = a + [x]
        print(a)
    else:
        b = []
        b = b + [x]
        print(b)
Задача: С клавиатуры вводятся числа по одному в строке до тех пор, пока не будет введено число 0. Составить из введенной последовательности чисел два списка. В первый список добавить все четные числа, во второй список - все нечетные числа. Число 0 не должен быть добавлен ни в один из списков. Распечатать полученные списки.
Проблема: не могу додуматься, как ввести неопределённое количество элементов и добавить их в списки, собственно с проверкой на чётность и нечётность. При вводе, в список добавляется только один элемент, при следующим вводе следующим элементом и заменяется, но не добавляется в список..

Последний раз редактировалось ГиперФлюойд; 13.02.2022 в 11:06.
ГиперФлюойд вне форума Ответить с цитированием
Старый 13.02.2022, 15:53   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Поправил ваш код
Код:
a = []   # odd      Пустые
b = []   # even     списки
while True:
    x = int(input())
    if x%2:             # Нечет
        a = a + [x]
    else:
        if x:           # Не ноль
            b = b + [x]
        else:           # Ноль
            break       # Закончим цикл
print(a)   # вывод   odd
print(b)   # вывод   even
В вашем коде на каждом шаге переопределяются списки - следует выносить за цикл.
Лишняя первая строка.
Так как длительность цикла не определена, а он должен выполниться хотя бы один раз, то это цикл с постусловием. В Python это так, как в коде выше.
Так как 0 % 2 - чётное, то его и отделяем на шаге проверки чётных.

PS: Убрал из условных операторов явные сравнения, поскольку в Python все числа не равные нулю - True.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 20.02.2022, 11:49   #3
ГиперФлюойд
 
Регистрация: 13.02.2022
Сообщений: 4
По умолчанию

Благодарю!
ViktorR,
ГиперФлюойд вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Python - как установить Easy-Machine-Learning-Object-Detection при уже установленном Python 3.9 Krasi Общие вопросы по программированию, компьютерный форум 4 23.12.2021 15:49
решить задачи на списки (Python 3) Калиаскар Фриланс 2 22.11.2021 02:54
динамические структуры(списки). односвязные списки c++ Асдин Помощь студентам 2 16.07.2020 14:18
Python, списки РезедаМуратова Помощь студентам 12 12.09.2018 09:12
Списки в языке Python. Помогите исправить! Young_programmer Python 9 31.01.2017 20:11