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

Форматирование времени

16.11.2021, 14:54. Показов 3304. Ответов 4

Студворк — интернет-сервис помощи студентам
Напишите программу time.py, которая получает из первого аргумента командной строки количество секунд, которое прошло с начала дня. Программа должна выводить отформатированное время в формате HH:MM:SS.

SS – число секунд от 0 до 59.
MM – число минут от 0 до 59.
HH – число часов от 0 до 23.
Все значения времени должны выводится в двузначном формате, если число занимает один знак, то перед ним должен быть 0.

Если прошло меньше одного часа, то часы выводить не нужно.

Если прошло меньше одной минуты, то минуты выводить не нужно.

Я написал так:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
x = int(input())
hours = 0
minutes = 0
seconds = 0
seconds += x % 60
seconds = str(seconds)
minutes += (x // 60) % 60
hours += x // 60 // 60
minutes = str(minutes)
hours = str(hours)
if len(seconds) == 1:
    seconds = '0'+seconds
elif '0' > hours:
    print(minutes + ':' + seconds)
if len(minutes) == 1:
    minutes = '0'+minutes
elif '0' > minutes:
    print(seconds)
else:
    print('0' + hours + ':' + minutes + ':' + seconds)
Но использовать input нельзя, как можно по другому решить?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.11.2021, 14:54
Ответы с готовыми решениями:

Найти разницу во времени (вычесть из одного времени другое)
Нужно найти разницу во времени: t1 - t2. Просто так объекты типа datetime отниматься не хотят. Нашел...

Преобразование даты времени UTC к локальному времени
Здравствуйте, возник такой вопрос: как в питоне реализовать преобразование даты времени в UTC к локальному времени? Например, начальный...

Форматирование времени
Напишите программу time.py, которая получает из первого аргумента командной строки количество секунд, которое прошло с начала дня....

4
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
16.11.2021, 15:26
Цитата Сообщение от _boss_ Посмотреть сообщение
использовать input нельзя, как можно по другому
Вроде бы в ТЗ явно указано принимать аргумент командной строки
Python
1
2
3
4
5
6
7
8
import sys
 
t = int(sys.argv[1])
s = t % 60
t //= 60
m = t % 60
h = t // 60
print(f'{h:02}:{m:02}:{s:02}')
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
16.11.2021, 15:50
iSmokeJC, я ждал регулярки!
Python
1
2
3
m, s = divmod(s, 60)
h, m = divmod(m, 60)
d, h = divmod(h, 24)
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
16.11.2021, 16:01
Fudthhh, увы и ах, но регулярки - это не про все на свете
0
2 / 1 / 1
Регистрация: 29.03.2022
Сообщений: 22
03.04.2022, 02:22
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
from sys import argv
sec = int(argv[1])
hours = sec // 3600
minute = float(((sec / 3600) - hours) * 60)
seconds = float(minute - int(minute)) * 60
 
h = [hours]
if hours < 10:
    h.insert(0, 0)
    h_ = str(h[0]) + str(h[1])
else:
    h_ = hours
 
m = [int(minute)]
if int(minute) < 10:
    m.insert(0, 0)
    m_ = str(m[0]) + str(m[1])
else:
    m_ = int(minute)
 
s = [int(seconds)]
if int(seconds) < 10:
    s.insert(0, 0)
    s_ = str(s[0]) + str(s[1])
else:
    s_ = int(seconds)
 
if h_ == "00" and m_ == "00":
    print(s_, sep=":")
 
if h_ == "00" and m_ != "00":
    print(m_, s_, sep=":")
 
if h_ != "00":
    print(h_, m_, s_, sep=":")
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.04.2022, 02:22
Помогаю со студенческими работами здесь

Задача: Форматирование времени решена с ошибкой
Написал код from sys import argv sec = int(argv) hours = sec // 3600 minute = float(((sec / 3600) - hours) * 60) seconds =...

DS1302 часы реального времени форматирование времени
Здравствуйте. Возникла необходимость в форматировании времени каким образом можно сделать так чтобы показывало так например секунды...

Форматирование времени
Описать функцию возвращающую по времени T (в секундах) строку в виде HH:MM:SS, где , HH количество часов, ММ количество минут и SS...

Форматирование времени
Из модального окна получить количество секунд. Отформатировать это число в дни, часы, минуты, секунды и вывести с помощью console.log()...

Форматирование времени
Подскажите пожалуйста. В определенный момент времени я сохраняю текущее время public DateTime dt1 = DateTime.Now Затем через некоторое...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru