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

Поиск объекта расписания в пайтон

04.05.2020, 10:41. Показов 1806. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть несколько листов с расписанием занятий такого вида
Python
1
2
3
Monday = {"day":"Monday",
          "14:25" :"Пара №1",
          "16:00" :"Пара №2"}
И таких листов 5 на каждый день, они аналогичны по структуре

Также есть список дней по который нужно пройти проверку
Python
1
2
3
4
days_week = {"Monday":"Monday",
               "Tuesday":"Tuesday",
               "Wednesday":"Wednesday",
               "Thursday":"Thursday"}
С помощью даты я использую день недели и сравниваю с листом(days_week) проверка пройдена, но потом возникли трудности, не могу получить, а точнее не знаю как данные с листа расписания (например Monday который указан выше
Python
1
2
3
4
5
6
        def check_schedule(self):
            my_date = date.today()
            day_week = calendar.day_name[my_date.weekday()]
            hour_day = dt.datetime.today().hour
            if day_week == days_week[day_week]:
 #получить данные дня недели: время занятия, название самого занятия

Как я могу получить данные именно того дня по которому я прошел проверку ?
Или может сделать по другому
Мой код не идеален, это моя первая программа)
Спасибо
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.05.2020, 10:41
Ответы с готовыми решениями:

Поиск объекта
Мне нужна таблица.С несколькими столбцами,и мне нужно будет заносить текст в них. Какой объект мне юзать?

Поиск объекта
Здравствуйте ! Нужно найти элемент типа "input". Однако этот элемент не имеет идентификатора только класс...

Поиск объекта в DoublyLinkedList
Добрый день! Решил изучить синтаксис PHP с ООП(знаком с ООП на Java), но сразу наткнулся на камень. 1) По моему мнению, в первых 7...

6
Эксперт Python
 Аватар для unfindable_404
693 / 471 / 204
Регистрация: 22.03.2020
Сообщений: 1,051
04.05.2020, 11:00
Лучший ответ Сообщение было отмечено igoorrr как решение

Решение

Цитата Сообщение от igoorrr Посмотреть сообщение
Python
1
2
3
4
days_week = {"Monday":"Monday",
               "Tuesday":"Tuesday",
               "Wednesday":"Wednesday",
               "Thursday":"Thursday"}
Это самое бессмысленное, что только можно написать . И ещё это не лист, а словарь.

Вам надо ваш словарь переписать таким образом:
Python
1
2
3
4
days_week = {0: Monday,
               1: Tuesday,
               2: Wednesday,
               3: Thursday}
И тогда метод будет выглядеть так:
Python
1
2
3
        def check_schedule(self):
            for time_ in days_week[date.today().weekday()]:
                print(f'{time_}: {days_week[date.today().weekday()][time_]}')
0
0 / 0 / 0
Регистрация: 30.10.2016
Сообщений: 53
05.05.2020, 09:27  [ТС]
Получаю такую ошибку


Traceback (most recent call last):
File "main.py", line 54, in <module>
moodle.check_schedule()
File "main.py", line 32, in check_schedule
for time_ in days_week[date.today().weekday()]:
KeyError: 1
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
05.05.2020, 09:35
Цитата Сообщение от igoorrr Посмотреть сообщение
Есть несколько листов
это словарь
Цитата Сообщение от igoorrr Посмотреть сообщение
Также есть список дней
это тоже словарь
Цитата Сообщение от igoorrr Посмотреть сообщение
Как я могу получить данные именно того дня по которому я прошел проверку ?
Или может сделать по другому
все упрощаем до ровно одного списка, в котором есть данные о расписании в каждый день недели, то есть
[{"day":"Monday","14:25" :"Пара №1","16:00" :"Пара №2"}, {"day":"Tuesday",....} и т.д.]

тогда все упрощается до выдергивания того расписания которое соответствует дню недели. Нужен понедельник (первый день недели)? берем первый элемент в списке
0
 Аватар для Semen-Semenich
5233 / 3478 / 1175
Регистрация: 21.03.2016
Сообщений: 8,305
05.05.2020, 10:00
или так
Python
1
2
3
4
5
6
data = {
    "Monday" : ("14:25 Пара №1", "16:00 Пара №2"),
     "Tuesday": ("14:20 Пара №111", "16:30 Пара №22"),
     "Wednesday": ("15:20 Пара №11", "14:30 Пара №21")
    } 
print(*data["Tuesday"], sep ='\n')
======
14:20 Пара №111
16:30 Пара №22
>>>
а если вам нужно выдергивать из значения недели еще и значения по времени то словарь в словаре
Python
1
{"Monday" : {"14:25" : "Пара №1", "16:00" : "Пара №2"}}
0
0 / 0 / 0
Регистрация: 30.10.2016
Сообщений: 53
06.05.2020, 19:38  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
"day":"Monday","14:25" :"Пара №1","16:00" :"Пара №2"}
Python
1
2
3
4
5
6
7
8
9
        def check_schedule(self):
                date_now = datetime.now()
                time_now = datetime.strftime(date_now, "%H:%M")
                for time_less in days_week[datetime.today().weekday()]:  #get today week day
                    if time_less !="2":
                        time_l = datetime.strptime(time_less, "%H:%M")
                        new_time = time_l + timedelta(minutes=90)
                        if time_now >= time_l >= new_time:
                           print("741")

Выдает ошибку if time_now >= time_l >= new_time:
TypeError: '>=' not supported between instances of 'str' and 'datetime.datetime'

Но строки строку переводил в дату, может что-то делаю не так
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
06.05.2020, 20:24
igoorrr, 1) почему вы спрашивате меня, если написали код вы?
2) time_l это строка, что не понятно? нельзя время со строкой сравнить
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.05.2020, 20:24
Помогаю со студенческими работами здесь

Поиск объекта на изображении
Здравствуйте. Есть задача найти определенный объект на изображении. Пусть к примеру это будет черный шарик. Сейчас софт работает...

Поиск по параметрам объекта
Доброго времени суток! Возник такой вопрос. У меня при помощи конструктора создаётся нечто вроде базы данных телефонов, т.е. около 10...

Поиск объекта на фото
Добрый день. Подскажите в каком направлении идти? Имеется следующая задача. Есть фотографии и на этих фотографиях (не на всех)...

Поиск объекта в Observable по id
Здравствуйте, только недавно начал учить Angular. Имеется такая имитация сервера: import { InMemoryDbService } from...

Поиск объекта в лабиринте
Имеется лабиринт(матрица n*m) 0- проход, 1-стена. В лабиринте есть объект obj1 который двигается по определенному маршруту к выходу из...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru