Языки программирования и программы.
-
Общая тема по разным ресурсам. Можно выкладывать ссылки на обучающие материалы. Или новое, полезное, занимательное.
Также можно выкладывать результаты обучения ( промежуточные итоги и отчеты) - это полезно, пусть даже на шахматном сайте. -
Начал смотреть по Питону Python. Самое начало.
Столкнулся с задачей-current_hour = 12
current_minute = 37
current_section = "PM"
due_hour = 9
due_minute = 0
due_section = "AM"#You may modify the lines of code above, but don't move them!
#When you Submit your code, we'll change these lines to
#assign different values to the variables.#Given the current time and deadline time represented by the
#variables above, determine if an assignment is still eligible
#for submission. An assignment is eligible if the time
#represented by current_hour, current_minute, and
#current_section is before the time represented by due_hour,
#due_minute, and due_section.Тут трудность в том ( особенно тем, кто не знаком с их стандартом времени), что 12 афтермонинг и 12 пастмонинг не совсем поддается логическому описанию ( но тут как бы ни старались, получить логически непротиворечивую конструкцию из этих элементов не получится)- то есть 12 ам-это у низ 0 часов ночи , а 12 пм-это 12 дня.
Я посмотрел, на сегодняшний момент эти конструкции с числом 12 рекомендуется избегать во избежание недоразумений.. Но пока я это выяснил( задача не сходилась никак), потратил более часа, ведь это вне обычной/прямой ( тупой) логики.
Но задачка такая и ограничения- предположим, что мы пока не догадываемся об условиях и conditioning ( if, while) и т.п. Прямой перевод времени в какую-то одну переменную поначалу кажется трудным, можно строить логическими операторами, но мне показалось слишком громоздким.
Я решил перевод времени в 1 переменную так-тут на примере переменной( время_ сейчас)current_time=((current_hour%12)+(12*(current_section == "PM")))*60+current_minute
то есть тупо переводим все в минуты , но суть, что нужно было догадаться использовать оператор остаток ( модулус) для этого ( чтобы обнулить ам и пм при 12 часах) -
Остаток от деления - это интересная и в то же время очень известная и лёгкая фишка в задачах по информатике. Такие задачки щёлкал уже в детстве, благо в мат. классе учился и информатика была. Заняло 5 минут, чтобы повторить это решение.
-
По Питону курс, от отличного лектора (говорят)
на ютубеhttps://www.youtube.com/playlist?list=PLRDzFCPr95fLuusPXwvOPgXzBL3ZTzybY
на гитхабе содержание и страница курса https://github.com/tkhirianov/lections_2019/blob/master/semestr_1/программа_курса.md
еще ссылки
https://proglib.io/p/python-from-newbie-to-professional/
https://proglib.io/p/iteriruemsya-pravilno-20-priemov-ispolzovaniya-v-python-modulya-itertools-2020-01-03 -
По Питону начальные курсы и материалы.
Бесплатно от Майкософтhttps://www.youtube.com/playlist?list=PLlrxD0HtieHhS8VzuMCfQD4uJ9yne1mE6
Блоковый язык на основе Питона, упрощающий для новичков конструирование программы, легкий переход из блоков к коду позволяет обучаться и экспериментировать
https://app.edublocks.org/ -
Как стать Data Scientist - 8 шагов.
-
def day_o_week(a): import math b = a.split() # print(b) month = {"March":1,"April":2, "May":3, "June":4, "July":5, "August":6, "September":7, "October":8,"November":9,"December":10, "January":11, "February":12 } mon = month [b [0]] # print (mon) day = int(b [1]) # print(day) century = int((b [2])) // 100 # print(century) year = int((b [2])) % 100 # print(year) # dow = {0:"Sunday",1:"Monday", 2:"Tuesday", 3:"Wednesday",4: "Thursday",5:"Friday", 6:"Saturday"} # day_of_the_week = (day + math.floor(2.6 * mon - 0.2) - (2 * century) + year + math.floor(year / 4) + math.floor(century / 4)) % 7 # (d + floor(2.6m - 0.2) - 2c + y + floor(y/4) + floor(c/4)) modulo 7 dow = {1:"Sunday",2:"Monday", 3:"Tuesday", 4:"Wednesday",5: "Thursday",6:"Friday", 0:"Saturday"} day_of_the_week = (day + math.floor((13 * (mon + 3 )) / 5) + year + math.floor(year / 4) + math.floor(century / 4) - 2 * century) % 7 return dow[day_of_the_week] # test print(day_o_week('January 1 1678')) print(day_o_week("September 3 1955")) print(day_o_week("June 12 2012")) print(day_o_week("August 4 1843"))
что -то некорректно код работает, язык Питон, это было упражнение по словарям (dictionary), вычисление по формуле дня недели, исходя из даты , спотыкается, почему-то, на 1 января 1678 дате, остальные для этого теста проходит правильно ( но не уверен, что другие пройдет правильно тоже)
попробовал 2 немного разные формулы ( вторая осталась на всякий случай закомментированая) -
Набор тестовой группы на 2-х дневное обучение программированию на Python и Нейросетей от Geekbrains за 0р Старая цена - 57 700 руб Цена для тестовой группы - 0 руб ️ Старт обучения с 8 по 9 апреля в 12:00 МСК, доступно всего 100 мест — успейте записаться: https://clck.ru/345H3Q
-