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

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

  • автор:

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

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

Как перевести секунды в часы:минуты:секунды?

Задача:
Электронные часы показывают время в формате h:mm:ss, то есть сначала записывается количество часов, потом обязательно двузначное количество минут, затем обязательно двузначное количество секунд. Количество минут и секунд при необходимости дополняются до двузначного числа нулями.

С начала суток прошло n секунд. Выведите, что покажут часы.

1 2 3 4 5 6 7 8 9 10 11 12 13
a=int(input()) h=a//3600 m=(a//60)%60 s=a%60 if m10: m=str('0'+m) else: m=str(m) if s10: s=str('0'+s) else: s=str(s) print(str(h)+':'+str(m)+':'+str(s))

А вот это вообще решением не считает.

1 2 3 4 5 6 7 8 9 10 11 12 13
a=int(input()) h=a//3600 m=(a//60)%60 s=a%60 if m10: j=0 else: j='' if s10: t=0 else: t='' print(str(h)+':'+str(j)+str(m)+':'+str(t)+str(s))

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Сделайте так,чтобы число секунд отображалось в виде дни :часы: минуты: секунды /питон программа/
Сделайте так,чтобы число секунд отображалось в виде дни :часы: минуты: секунды /питон программа/

Как из минуты, часов, дней в секунды?
Здравствуйте. Суть идеи такова: Пользователь вводит строку, где указаны числа и буква, которая.

Разработать секундомер, который выводит минуты и секунды
Разработать секундомер, который выводит минуты и секунды. Вывод каждую 5- ую секунду. Пример.

840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688

1 2 3 4 5 6 7 8 9 10 11 12 13
a=int(input()) h=str(a//3600) m=(a//60)%60 s=a%60 if m10: m='0'+str(m) else: m=str(m) if s10: s='0'+str(s) else: s=str(s) print(h+':'+m+':'+s)

Попробуйте.
135 / 120 / 37
Регистрация: 30.09.2012
Сообщений: 400

m=str('0'+m)

и т.п — ошибка в том что складываешь разные объекты — число со строкой.
140 / 50 / 2
Регистрация: 06.08.2013
Сообщений: 292
Записей в блоге: 4
Спасибо, не знал что это

m='0'+str(m)

надо делать именно так.

Однако: «Частичное решение.»

840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
MihaniX, ?
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830

1 2 3 4 5 6 7 8 9 10 11 12 13
a = int(raw_input()) h = a//3600 m = (a//60)%60 s = a%60 if m10: m = str('0' + str(m)) else: m = str(m) if s10: s = str('0' + str(s)) else: s = str(s) print(str(h) + ':' + str(m) + ':' + str(s))

Добавлено через 26 секунд
Опоздал маленько, ну ладно.

Добавлено через 48 секунд

ЦитатаСообщение от MihaniX Посмотреть сообщение

Однако: «Частичное решение.»
Что не так?
140 / 50 / 2
Регистрация: 06.08.2013
Сообщений: 292
Записей в блоге: 4

tsar925, ошибка во время выполнения программы.
Wolkodav, я занимаюсь в informatics.mccme.ru
Отправляю файлы с задачами и они автоматически проверяются.

Добавлено через 40 секунд

ЦитатаСообщение от tsar925 Посмотреть сообщение

Что не так?

Сам в шоке. Говорит, что оно даст неверный ответ в некоторых случаях.

Добавлено через 1 час 14 минут
Up.

2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830

ЦитатаСообщение от MihaniX Посмотреть сообщение

tsar925, ошибка во время выполнения программы.

Ты запусти, что я прислал, ошибки нет.

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

140 / 50 / 2
Регистрация: 06.08.2013
Сообщений: 292
Записей в блоге: 4

ЦитатаСообщение от tsar925 Посмотреть сообщение

Ты запусти, что я прислал, ошибки нет.

Я запускал. raw_input на input() поменял. Работает. Мой вариант (второй из 1-ого поста) тоже работает. Но сраная машина пишет «Частичное решение»
Что делать?

2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830

ЦитатаСообщение от MihaniX Посмотреть сообщение

raw_input на input() поменял.

Ну да, у меня просто Python 2.x, а у тебя 3 версия похоже.

Это задание в какой теме ты там взял? Может тебе нужно применить знания полученные в текущем твоём курсе, а ты другим макаром делаешь.

140 / 50 / 2
Регистрация: 06.08.2013
Сообщений: 292
Записей в блоге: 4
Ну тогда подскажите как обойтись без if.
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
Ты скажи, что за тему там сейчас изучаешь, в какому блоку теории прикрепляется это задание?
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
140 / 50 / 2
Регистрация: 06.08.2013
Сообщений: 292
Записей в блоге: 4

1 2 3 4 5
n=int(input()) h=str(n//3600) m=str((n//60)%60) s=str(n%60) print(h+':'+m+':'+s)

А это чем не подходит?

Добавлено через 42 секунды

ЦитатаСообщение от accept Посмотреть сообщение

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

Добавлено через 1 минуту

ЦитатаСообщение от tsar925 Посмотреть сообщение

Ты скажи, что за тему там сейчас изучаешь, в какому блоку теории прикрепляется это задание?
Целочисленное деление, получение остатка от деления, переменные (строковые, числовые) и print.
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570

ЦитатаСообщение от MihaniX Посмотреть сообщение

А это чем не подходит?

нужно посчитанные часы вычитать из общего количества секунд и в оставшихся секундах выделять минуты
а у тебя вычисляются часы, а потом в этих же часах вычисляются минуты (эти минуты уже показываются в виде часов)

Добавлено через 2 часа 11 минут
походу, подходит

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
>>> def f(n): . return n // 3600, n // 60 % 60, n % 60 . >>> f(0) (0, 0, 0) >>> f(1) (0, 0, 1) >>> f(60) (0, 1, 0) >>> f(61) (0, 1, 1) >>> f(3600) (1, 0, 0) >>> f(3601) (1, 0, 1) >>> f(3661) (1, 1, 1) >>>

140 / 50 / 2
Регистрация: 06.08.2013
Сообщений: 292
Записей в блоге: 4
Да, но долбаная программа — проверяльщик все равно плюется.
135 / 120 / 37
Регистрация: 30.09.2012
Сообщений: 400

а всё потому что электронные часы имеют «период» в 24 часа. Другими словами — что покажут часы если прошло 2,5 суток? ))

140 / 50 / 2
Регистрация: 06.08.2013
Сообщений: 292
Записей в блоге: 4

1 2 3 4 5 6 7 8 9 10 11 12 13
a=int(input()) h=((a//3600))%24 m=(a//60)%60 s=a%60 if m10: m=str('0'+str(m)) else: m=str(m) if s10: s=str('0'+str(s)) else: s=str(s) print(str(h)+':'+str(m)+':'+str(s))

363 / 334 / 38
Регистрация: 29.03.2011
Сообщений: 838
Вроде нигде не видел условия, что форматирование строк нельзя использовать..

1 2 3 4 5 6 7 8
sec = int( input('Enter seconds: ') ) h = ((sec//3600))%24 m = (sec//60)%60 s = sec%60 print( '%d:%02d:%02d'% (h, m, s) ) # OR print( '::'.format(h, m, s) )

4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570

1 2 3
>>> '<>::'.format(1, 2, 3) '1:02:03' >>>

а заполнение по-другому используется

1 2 3
>>> ''.format(1) 'xx1' >>>

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Создать программу на Python, которая превращает секунды в минуты
Создать программу на Python. Обязательно должен быть конструктор и метод(например getFormatTime()).

Как совершить выборку по часам с переменной типа ГОД-ЧИСЛО-ДАТА ЧАСЫ-МИНУТ-СЕКУНДЫ (2018-09-01 01:53:06.9130)?
В базе данных data, в столбе starttime записи имеют вид 2018-09-01 01:53:06.9130. Как совершить.

Как конвертировать секунды в значение UTC
Доброго времени суток! Есть такая проблема. В JSON приходит значение timezone в секундах, т.е.

Как читать изображение только 1 раз в 3 секунды opencv
Нужно получать изображение с камеры только 1 раз в 3 сек. в бесконечном цикле. Пробовал .

как получить unix из строки (день, месяц, год, часы, минуты)
получаю unix: unix =int(time.time()) из unix получаю дату в виде строки: str_date =.

Дополнительные секунды
Вы, наверное, замечали, что часы могут спешить или отставать, из-за чего координироватьдействия.

Как перевести секунды в минуты в 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

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

Основы программирования 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 не будет опубликован. Обязательные поля помечены *