Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
2 / 2 / 0
Регистрация: 05.02.2021
Сообщений: 162

Вывод списка

26.04.2024, 10:14. Показов 362. Ответов 3

Студворк — интернет-сервис помощи студентам
Доброго времени суток
Python
1
2
3
4
5
6
7
n = int(input('Введите количество чисел списка: '))
string_list = [ (int(input(f'Введите {i + 1}-е число: '))) for i in range(n) ]
for i in string_list:
    print(i)
    if  (i <= 10) or str(i) != str(i)[::-1]:
        del string_list[string_list.index(i)]
print(string_list)
Код править не надо я знаю как его сделать рабочим , здесь все в порядке
А вопрос такой
Почему print(i) выводит только первый и последний элемент списка?


0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.04.2024, 10:14
Ответы с готовыми решениями:

Вывод списка
Здравствуйте! Имеется программа, в которой мы вводим списком слова и затем получаем их в обратном порядке. Ввод происходит из консоли...

Вывод списка
как вывести любой список имен таким образом: 1.name1 2.name2 3.name3 и т.д

Вывод списка из строки
Представлено в виде списка: my_len = ],],]]. а)Выведите всех студентов (и их группы), если фамилия студента начинается на букву А.') ...

3
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
26.04.2024, 11:26
Лучший ответ Сообщение было отмечено solvo23 как решение

Решение

Цитата Сообщение от solvo23 Посмотреть сообщение
Почему print(i) выводит только первый и последний элемент списка?
Преобразование (удаление/добавление элементов) объекта, по которому идет итерирование в цикле, всегда приводит к нежелательным последствиям. Просто не делайте этого и всё.
Ну а уж если хочется досконально разобраться, что происходит, то примерно так.
Вы берете элемент с индексом 0 - это 1. Печатаете его. Удаляете. Берете далее элемент с индексом 1. Но поскольку вы удалили уже один элемент, то это будет элемент, который в первоначальном списке имел индекс 2, то есть 3. А индекс двойки стал равным нулю и его цикл успешно игнорит.
2
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
26.04.2024, 16:50
Лучший ответ Сообщение было отмечено solvo23 как решение

Решение

Да, не рекомендуется модифицировать список и одновременно его итерировать. Сделайте новый список или его копию.

Добавлено через 1 минуту
Python
1
2
3
4
5
6
7
8
n = int(input('Введите количество чисел списка: '))
string_list = [ (int(input(f'Введите {i + 1}-е число: '))) for i in range(n) ]
string_list2 = []
for i in string_list:
    print(i)
    if not ((i <= 10) or str(i) != str(i)[::-1]):
        string_list2.append(i)
print(string_list2)
1
2 / 2 / 0
Регистрация: 05.02.2021
Сообщений: 162
26.04.2024, 21:16  [ТС]
Одна фраза и три задачи решено!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.04.2024, 21:16
Помогаю со студенческими работами здесь

Вывод одного списка
Не смог додуматься как получить один чистый список. Есть список, из него нужно вывести очищенный вариант. Длина списка произвольная ...

Ввод и вывод списка
Как сделать так чтобы когда человек вводил несколько имени и выводил на экран так : 1. Имя 2. Имя 3. Имя 4. Имя и.т.д

Вывод элемента списка
Прошу помочь разобраться в проблеме. Код: c = int(input('Выбрать номер посетителя: ')) for i in...

Вывод списка из функции
День добрый. Пытаюсь разобраться с функциями. У меня есть некоторая функция заполнения списка: def solver(): ...

Вывод строк списка
Задание 1. Пусть задан список, содержащий строки: a) Выведите построчно все строки размером от 9 до 22 символов. b) Выведите построчно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru