Конвертор времени на Python. Задача с решением и пояснениями
Есть несомненная польза от решения абстрактных задач. Но всегда интереснее делать что-то, пусть не сложное, но такое что действительно может пригодиться в реальной жизни.
Хотя бы в теории.
Изображение Arek Socha с сайта Pixabay
В одном из предыдущих постов мы уже создавали простейший калькулятор на языке программирования Python, сегодня же давайте попробуем реализовать конвертор времени.
Идея такая: пользователь вводит время в секундах, нам нужно конвертировать это время в удобный формат Х ч. Х мин. Х сек.
Звучит просто, но как реализовать такую задачу?
Напрашивается вариант решения с целочисленным делением.
В одной минуте 60 секунд, а в часе их 60 * 60 = 3600.
От этой логики и оттолкнемся.
Возьмем переменную seconds, в которую поместим введенные пользователем секунды, и будем пошагово вычленять из нее часы и минуты:
Изображение автора
Итак, в функцию time_conv() мы передаем количество введенных пользователем секунд seconds.
Сначала, при помощи целочисленного деления на 3600 мы находим количество пользователем часов, затем при помощи деления по остатку мы узнаем сколько секунд осталось после вычленения из общего количества часов.
Ровно так же находим количество минут и оставшихся после этого секунд.
Функция возвращает кортеж вида (1, 4, 24) при указанных введенных данных.
С помочью обращения к элементам этого кортежа по индексу мы выводим результат в нужном нам формате.
Для самостоятельной работы можно усложнить задачу и устроить проверку количестве введенных секунд на предмет возможности конвертации в дни, недели, месяцы и т.д., и, в случае необходимости, провести дополнительную конвертацию.
(Изображение для мобильной версии Pexels с сайта Pixabay)
Мы используем cookie-файлы, чтобы улучшить сервисы для вас. Если ваш возраст менее 13 лет, настроить cookie-файлы должен ваш законный представитель. Больше информации
Конвертор времени на Python. Задача с решением и пояснениями
Есть несомненная польза от решения абстрактных задач. Но всегда интереснее делать что-то, пусть не сложное, но такое что действительно может пригодиться в реальной жизни.
Хотя бы в теории.
Начну данный пост с практического примера, на котором будет проще объяснить основную мысль данного материала.
Давайте попробуем решить такую задачу:
Человек пошел за грибами.
Программа запрашивает у пользователя количество собранных грибов, и если грибы продолжают попадаться, то есть их количество не равно 0, то сбор грибов продолжается.
Если в какой-то момент пользователь закончил сбор дикоросов и вводит количество грибов равное 0, то программа выводит сообщение о завершении мероприятия и завершает свою работу.
Циклы в решении использовать нельзя.
Изучая типы данных в языке программирования Python, можно заметить, что даже числа порой удобнее обрабатывать в коде, преобразовав их в стоковый тип.
Это позволяет гибче смотреть на тип каждой переменной и шире использовать возможности языка.
В предыдущих постах этого блога мы уже касались темы объявления функций. Так же упоминалось, что в функции может быть не одна, а несколько переменных.
Ниже рассмотрим нюансы и ошибки, которые могут возникнуть при использовании такого инструмента.
Как мы обычно это делаем, разберем все на примере.
Сегодня будет представлена практическая часть материала, которая поможет начать лучше ориентироваться в применении функций с переданным в них единственным аргументом.
Рассмотрим и решим задачи где такая возможность языка программирования Python может быть использована.
Задача 1
Необходимо написать программу, которая будет запрашивать имя пользователя, и выводить на экран приветствие.
Вывод нужно реализовать в отдельной функции, а основной код поместить в "бесконечный" цикл с возможностью выхода из него при вводе "0".
В предыдущем посте мы уже открыли для себя возможность самостоятельного объявления функций, а сегодня немного расширим познания в этой сфере.
Как мы можем видеть на примере встроенных функций Python, внутри функций зачастую передается тот или иной аргумент.
К примеру, если нам нужно преобразовать число с плавающей точкой 5.0 в целочисленное значение, то мы просто передаем его в виде аргумента в функцию int() и получаем на выходе нужный нам результат.
А чтобы вывести на экран это число, мы передаем его в качестве аргумента во встроенную функцию print():
Для чего писать функции в языке программирования Python
В языке программирования Python есть встроенные функции, которые уже рассматривались в других постах блога.
Но есть ситуации, а главное, возможность, писать функции самостоятельно.
Ниже рассмотрим ситуации, когда целесообразно создавать собственные функции и напишем одну для понимания принципа их работы в структуре программного кода.
Программирование тесно переплетено с математикой, и как бы этого не хотелось делать некоторым, вспоминать математику, если она забыта, придется.
Понятие простых чисел так же изучается в школьном курсе математики, и напомнить его считаю не лишним.
Если говорить "человеческим" языком, простым называют то натуральное число, которое без остатка делится только на единицу и само на себя.
Чисел таких довольно много:
Функция round() для округления чисел с плавающей точкой. Python
Безусловно, все математики и другие ученые вздохнули бы с облегчением, если бы вдруг стало возможным в своих вычислениях использовать только целые числа.
Но реальность такова, что строго говоря происходит наоборот. Целые числа встречаются лишь в математических моделях, а в природе наоборот, их днем с огнем не сыскать.
Поэтому ученые, как действительно объективные люди, не стали игнорировать реальность, и широко используют дробные числа, и информатика с программированием не могла стать исключением.
Цикл for: нахождение максимального числа в списке. Python
Сразу сделаю оговорку, что данный метод не является самым эффективным и лаконичным, а используется больше для изучения циклов и улучшения понимания алгоритмов их работы.
Тем не менее в этой ипостаси данная задача весьма привлекательна, имеет интересное решение и не скучна даже для решения опытными разработчиками.
Задача на вложенные циклы с решением и его разбором. Python для начинающих
Циклы – один из важнейших инструментов разработчика. Поэтому понимание алгоритма их работы – это важное звено в цепочке знаний, которое ни в коем случае не должно быть слабым.
Поэтому практически во всех обучающих материалах по программированию большое внимание уделяется решению даже простых задач с применением циклов.
Сегодня займемся решением типовых задач, которые не столько сложны, сколько помогают понять механизм работы циклов.
Ну и конечно, задачи эти для начинающих разработчиков и решаются соответствующими методами.
Методы списков append() и extend() в Python. Применение
Коллекции типа list являются изменяемыми. Соответственно у нас есть возможность как добавить в список элементы, так и изменить, а то и вовсе удалить их.
Методы списков append() и extend() в Python используются для добавления элементов в конец списка.
Но если они делают одно действие, зачем нужны два метода?
О различии в их работе мы сегодня и поговорим.
Простым и эффективным способом генерации списков с заданными заранее условиями в Python являются циклы for, в теле которых прописывается код, генерирующий элемент списка и последовательно, при каждой итерации, добавляющий его в коллекцию.
3 задачи с подвохом на Python с решением и комментариями
Иногда очевидные вещи не настолько очевидные, как могут показаться на первый взгляд.
И если результат работы кода из нескольких тысяч строк оценить беглым взглядом сложно, то когда перед глазами 3-5 строчек, кажется, что точно знаешь ответ и подвоху спрятаться негде.
Вложенные циклы в Python. Применение при решении задач
В предыдущих постах уже много раз была затронута тема использования циклов в программировании.
Это и понятно, циклы – это крайне удобный и широко применяемый инструмент при написании кода и решении поставленных перед разработчиком задач.
Калькулятор за 5 минут на языке программирования Python
Писать абстрактный код – это, безусловно, здорово. Но всегда интереснее то, что можно применить на практике.
Это как сделать своими руками инструмент. Пусть он будет не так красив, удобен и функционален, как аналог, купленный в магазине.
Но его использование доставляет особое удовольствие.
Методы строк lower() и upper() в языке программирования Python
Продолжаем знакомиться с методами, которые применимы к коллекциям типа str языка программирования Python.
Сегодня разберем два парных метода, которые имеют одинаковый принцип действия, но используются для достижения противоположных результатов.
Циклы в Python: задачи с решением и разбором для начинающих. Язык программирования Python
Как бы не было сильно рвение к новым знаниям и освоению новых возможностей, практика – это то, без чего полученная информация будет бесполезной.
Разберем ряд задач, которые решаются при помощи циклов.
Задача 1
Условие:
Дан некий список из произвольных чисел ([5, -6, 1, -12, 2, -41, 19]).
Получить новый список, в который должны войти каждое число из первого списка, при условии, что оно по модулю больше 6.
Аргументы start, stop и step функции range() в языке программирования Python
Встроенная функция range() языка программирования Python может иметь до трех аргументов, один из которых, а именно stop, является обязательным.
В общем виде синтаксис выглядит так:
Комментарии 7
import datetime
n= 10000000
time_format =str(datetime.timedelta(seconds = n))
print("Время:-",time_format)