Перейти к содержимому

Как перевести секунды в минуты в python

  • автор:

Как перевести секунды в минуты в python

Все, что необходимо начинающему и опытному программисту

Практический пример. Перевод секунд в дни, часы, минуты и секунды.

Надеемся, что название примера говорит само за себя. Поэтому запускайте и разбирайтесь.

using System; namespace CSharpApplication.ConvertSecondsExample < class ConvertSeconds < static void Main() < // Количество секунд в часе const ulong SecondsInDay = 60 * 60 * 24; ulong Seconds = 0; // Ожидаем корректного ввода while(Seconds == 0) < // Введите время в секундах в заданном диапазоне: Console.Write("Введите время в секундах "); Console.WriteLine("(от до ):", ulong.MinValue + 1, ulong.MaxValue); try < // Считываем введенное время и преобразуем его в ulong Seconds = Convert.ToUInt64(Console.ReadLine()); >catch(Exception ex) < // Ошибка ввода Console.WriteLine(ex.Message + " Попробуйте снова. \n"); >> // Вычисляем и выводим количество дней Console.WriteLine("Дней = ", Seconds / SecondsInDay); // Отбрасываем дни Seconds %= SecondsInDay; // Вычисляем и выводим количество часов Console.WriteLine("Часов = ", Seconds / 3600); // Отбрасываем часы Seconds %= 3600; // Вычисляем и выводим количество минут Console.WriteLine("Минут = ", Seconds / 60); // Вычисляем и выводим количество секунд Console.WriteLine("Секунд = ", Seconds % 60); // Ожидаем нажатия клавиши Enter Console.Write("\nНажмите Enter. "); Console.Read(); > > >

Практический пример. Нахождение самой длинной неубывающей цепочки случайных чисел.

Надеемся, что название примера говорит само за себя. Поэтому запускайте и разбирайтесь.

using System; class Sequence < public static void Main()< int i=0,cur,max=1,curmax=1; int border; int prev; Console.WriteLine("Введите количество членов цепочки:"); // Весь блок алгоритма заключаем в try/catch для перехвата исключений try< // Ввод количества элементов и перевод их в int border = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Ваш выбор элементов последовательности",border); // Создаём объект класса Random для генерации случайного числа // Начальная точка основывается на системном времени Random rand = new Random(); Console.WriteLine("Вот элементы последовательности:"); // Генерируется случайное число от 0 до 100 prev = rand.Next(0,100); Console.WriteLine("",prev); do< // Генерируется случайное число от 0 до 100 cur = rand.Next(0,100); if (cur>=prev) curmax++; else< if (curmax>max) max = curmax; curmax = 1; > prev = cur; Console.WriteLine("",cur); i++; >while(imax) max = curmax; // Показ полученного результата Console.WriteLine("\n\nМаксимальная Длина = \n\n",max); > // Обработка исключительной ситуации catch(Exception ex) < Console.WriteLine(ex.Message+" Не повезло . \n"); >// Задержка перед выходом Console.Read(); > >

Практический пример. Перевод из десятичной дроби в простую.

****** разделитель целой и дробной части числа зависит от локальных настроек операционной системы, поэтому, скорее всего, вам придется вводить дробное число через запятую (например, 1,56). ******

using System; namespace CSharpApplication.ConvertDecimalFractionToSimpleFraction < class Fraction < static void Main() < // Ввод дроби Console.Write("Введите число: "); try < // Попытка преобразования введенной строки в decimal DecimalToSimpleFraction(Convert.ToDecimal(Console.ReadLine())); >catch(FormatException error) < // Вывод сообщения об ошибки Console.WriteLine(error.Message); >Console.WriteLine("Нажмите Enter. "); Console.Read(); > // Функция перевода static void DecimalToSimpleFraction(decimal Number) < // Сохранение знака числа int Sign = 1; if(Number < 0) < Sign = -1; Number = -Number; >// Получение целой части числа int WholePart = (int)Number; // Получение дробной части числа decimal DoublePart = Number - WholePart; // Количество разрядов int Count = 0; // Пока дробное число не совпадет со своим целым эквивалентом while (DoublePart - (ulong)DoublePart != 0) < // Считаем разряды DoublePart *= 10; ++Count; >// Если дробная часть присутствовала if(Count > 0) < // Вычисление знаменателя decimal Denominator = Convert.ToDecimal(Math.Pow(10, Count)); // Вычисление наибольшего общего делителя decimal N = NOD(DoublePart, Denominator); // Сокращаем дробь DoublePart /= N; Denominator /= N; // Вывод результата if(WholePart != 0) Console.WriteLine(" / ", WholePart * Sign, DoublePart, Denominator); else Console.WriteLine(" / ", DoublePart * Sign, Denominator); > // Если дробная часть отсутствовала else Console.WriteLine("", WholePart * Sign); > // Функция, вычисляющая наибольший общий делитель static decimal NOD(decimal a, decimal b) < if(b == 0) return a; else return NOD(b, a % b); >> >

Домашнее задание

  1. Ввести с клавиатуры число в диапазоне от 100 до 100000000 (введенное число проверяется). Подсчитать количество четных и нечетных цифр в этом числе в процентном отношении.
  2. Ввести с клавиатуры номер трамвайного билета (6-значное число) и проверить является ли данный билет счастливым.
  3. Ввести с клавиатуры дату своего рождения и текущую дату. Необходимо вычислить разницу в днях между этими датами.
  4. Вывести на консоль изображение государственного флага Швейцарии (например, в виде звездочек). Размер стороны флага задается случайным числом в диапазоне от 21 до 41.

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru

Переделать секунды в минуты, часы, и дни

Такой вопрос у меня есть БД в которой есть поле length. введите сюда описание изображения Если число в БД будет 1800, то оно конвертируется в 30Мин. Или 3600 То в 1 час. введите сюда описание изображения Или вот ещё пример -60 должно отобразится в «Сессия» Проблема в том, когда я пытаюсь сделать любое действие над Length Возникает ошибка TypeError: unsupported operand type(s) for /: ‘IntegerField’ and ‘int’ Так-же это все должно корректно отобразится в шаблоне. Надеюсь я понятно спросил, всем заранее спасибо!

Как написать функцию которая переводит секунды в Python?

Напишем функцию, которая переводит секунды в часы и минуты.

# фиксируем постоянные величины в константах SEC_IN_MIN = 60 MIN_IN_HOUR = 60 SEC_IN_HOUR = SEC_IN_MIN * MIN_IN_HOUR def convert_sec(seconds): # заводим переменную, которую будем изменять sec = seconds if seconds > SEC_IN_HOUR: h = sec // SEC_IN_HOUR sec %= SEC_IN_HOUR # тоже самое, что sec = sec % SEC_IN_HOUR min_ = sec // SEC_IN_MIN sec %= SEC_IN_MIN return f'seconds> seconds equals h> hours min_> minutes sec> seconds' elif seconds > SEC_IN_MIN: min_ = sec // SEC_IN_MIN sec %= SEC_IN_MIN return f'seconds> seconds equals min_> minutes sec> seconds' else: return f'seconds> seconds less then one minute' print(convert_sec(59)) # => 59 seconds less then one minute print(convert_sec(125)) # => 125 seconds equals 2 minutes 5 seconds print(convert_sec(18080)) # => 18080 seconds equals 5 hours 1 minutes 20 seconds 

Как преобразовать секунды в часы-минуты-секунды

Основы программирования 2.0

Задача 6.1.2.32
Дано натуральное число Т, которое представляет длительность прошедшего времени в секундах. Вывести данное значение длительности в часах, минутах и секундах в следующей форме: ЧЧ:ММ:СС, где ЧЧ — это часы, ММ — минуты, СС — секунды.

Довольно любопытная задача, которая на первый взгляд кажется простой. Однако новичкам с ней придётся помучиться. Кстати, прежде чем посмотреть моё решение, предлагаю сначала именно помучиться и попробовать решить задачу самостоятельно, потому как только так можно стать программистом.

Итак, давайте сначала поразмышляем над алгоритмом решения. Сразу уточню, что по условию задачи надо преобразовать секунды в формат ЧЧ:ММ:СС, то есть о количестве дней, месяцев, лет и т.п. речь не идёт. Отсюда принимаем, что количество секунд в нашем случае не может быть больше, чем количество секунд в сутках.

А теперь действия, которые надо выполнить для решения:

  1. Определить общее число минут (выполнить целое деление числа Т на 60).
  2. Вычислить количество секунд (вычесть из числа Т общее число минут, умноженное на 60).
  3. Определить число часов (выполнить целое деление количества минут на 60).
  4. Вычислить число минут.

Возможно, что-то осталось непонятным, но это что-то станет понятным при изучении примеров программ на Паскале и С++.

Решение задачи 6.1.2.32 на Паскале

program mytask; //**************************************************************** // КОНСТАНТЫ //**************************************************************** const MAX_TIME = 24 * 60 * 60; //Число секунд в сутках //**************************************************************** // ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ //**************************************************************** var ElapsedTime : WORD; H, M, S : DWORD; //**************************************************************** // ОСНОВНАЯ ПРОГРАММА //**************************************************************** begin Randomize; ElapsedTime := Random(MAX_TIME); WriteLn('Elapsed time in seconds : ', ElapsedTime); M := ElapsedTime div 60; //Общее число минут S := ElapsedTime - (M * 60); //Число секунд H := M div 60; //Число часов M := M - (H * 60); //Число минут WriteLn('Elapsed time as HH:MM:SS : ', H, ':', M, ':', S); WriteLn('The end. Press ENTER. '); ReadLn; end.

Решение задачи 6.1.2.32 на С++
#include #include #include //. Подключить этот модуль, если ругается на srand //******************************************************************* // КОНСТАНТЫ //******************************************************************* const long MAX_TIME = 24 * 60; //Число минут в сутках using namespace std; long ElapsedTime; long H, M, S; //******************************************************************* // ОСНОВНАЯ ПРОГРАММА //******************************************************************* int main(int argc, char *argv[]) < srand(time(0)); //Запустить генератор случайных чисел ElapsedTime = (rand() % MAX_TIME) * (rand() % 60); cout << "Elapsed time in seconds : " << ElapsedTime << endl; M = ElapsedTime / 60; //Общее число минут S = ElapsedTime - (M * 60); //Число секунд H = M / 60; //Число часов M = M - (H * 60); //Число минут cout

Как преобразовать секунды в часы-минуты-секунды

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

ПРИМЕЧАНИЕ
Поскольку функция rand() в С++ обычно возвращает случайное число в заданном диапазоне, но не более 32767, то попытка указать, например, rand() % 80000 , приведёт к тому, что функция будет всегда возвращать число, близкое к 20000 (в моём случае), что является не очень “случайным” числом. Поэтому пришлось немного поизвращаться, чтобы число было действительно более-менее случайным.

ВНИМАНИЕ!
Если вам что-то осталось непонятно, то советую почитать книги “Основы программирования” и “Основы С++”.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *