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

Перебор списка заново при достижении последнего элемента списка

04.06.2023, 14:24. Показов 954. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте,

У меня вот такая задача.
Есть расписание автобусов, указанное в виде списка. (время указано без разделителя часы.минуты или часы:минуты)
Пользователь вводит время. Далее нужно вывести на печать следующие 3 времени отправления автобуса.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
def main():
    """the main function has existing schedule as a list, input of time by
    user"""
    schedule = [630,1015,1415,1620,1720,2000] #existing timetable for buses
                                            #without divider between hour and
                                            #minutes
    user = int(input("Enter the time (as an integer): ")) #time by user
    new = [] #new list is empty
    for number in schedule: #cycle for searching the next buses coming after
                            # time asked from user
        if number >= user:
            new.append(number)
 
    for i in range(3): #we need to print the next 3 buses time
        print(new[i])
 
if __name__ == "__main__":
    main()
то есть пользователь вводит например 1500 то вывод:
1620
1720
2000

если ввод 1800 то вывод:
2000
630
1015

На данный момент у меня ошибка out of range что логично поскольку я не знаю как начать перебор списка заново. Читал, что можно сделать через remainder operator %, но без примера не смог разобраться
Спасибо
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.06.2023, 14:24
Ответы с готовыми решениями:

Создание списка, печать списка на экран, добавления элемента в начало списка, конец списка
Построить динамическую структуру типа список . Необходимо реализовать следующие процедуры: 1. создание списка. 2. печать списка на...

Подгрузка данных при достижении конца списка
подскажите как реализовать данное требование, какой список использовать, и как понять что мы дошли до конца списка (При открытии активити...

Блокировать кнопку при достижении конца списка Combobox'а
Привет всем! Подскажите пожалуйста,как сделать чтобы при достижении конца списка combobox,нажав кнопку она же(кнопка) блокировалась?

2
 Аватар для Semen-Semenich
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
04.06.2023, 15:24
Цитата Сообщение от Robert Kudashev Посмотреть сообщение
меня ошибка out of range что логично
логично только в том случае если в списке который перебирается элементов меньше чем задано в цикле и к количеству переборов это никак не относится. смотрим что же в списке new
Python
1
2
3
    '''for i in range(3): #we need to print the next 3 buses time
        print(new[i])'''
    print(new)
Python
1
2
3
4
>>> %Run test.py
Enter the time (as an integer): 1800
[2000]
>>>
хотя вы представляете это по другому
Цитата Сообщение от Robert Kudashev Посмотреть сообщение
если ввод 1800 то вывод:
2000
630
1015
но откуда такие желания если
Python
1
2
 if number >= user:
            new.append(number)
то из всего списка [630,1015,1415,1620,1720,2000] только 2000 больше 1800
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
04.06.2023, 16:33
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

Python
1
2
3
4
5
6
7
8
schedule = [630, 1015, 1415, 1620, 1720, 2000]
n = int(input())
 
for i, e in enumerate(schedule):
    if e > n:
        for j in range(i, i + 3):
            print(schedule[j % len(schedule)])
        break
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.06.2023, 16:33
Помогаю со студенческими работами здесь

Скрытие\отображение нового списка при выборе значения из списка с выбором одного элемента
Добрый день!Существует список из которого нужно выбрать один элемент, с выбором элемента отображается ниже другой список с выбором другого...

Код удваивающий первый элемент списка, при значении меньше второго элемента списка
Необходим код удваивающий первый элемент списка, при значении меньше второго элемента списка. Как сделать так, чтобы код работал на...

Функции вставки элемента и удаления последнего элемента из односвязного списка
Здравствуйте, есть код, нужно переделать функцию удаления так, чтобы удалялся не конкретный элемент, а последний #define...

Оповещение о достижении самого низа списка в ListView, при его прокрутке.
Как сделать так, чтобы при достижении полосы прокрутки в ListView самого низа списка срабатывало какое либо действие (метод мой). Может...

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
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 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru