2015-08-06 4 views
1
offset = eval(input("Enter the time zone offset to GMT: ")) 

currentTime = time.time() 
totalSeconds = int(currentTime) 
currentSecond = totalSeconds % 60 
totalMinutes = totalSeconds // 60 
currentMinute = totalMinutes % 60 
totalHours = totalMinutes // 60 
currentHour = (totalHours % 24) 
print("Current time is", currentHour,":", currentMinute,":"currentSecond,"GMT") 

Задача: Пересмотреть программу так, чтобы она предлагает пользователю ввести часовой пояс в часах от (offset to) GMT и отображает время в указанном часовом поясе.Введите часовой пояс в часах от (смещение) GMT и отображает время в указанном часовом поясе

Как вы видите, я уже попросил пользователя ввести смещение, но я не могу понять, что делать дальше. Я попытался вычитать и добавить смещение, но в итоге вы получите невозможные ответы, например, 28:00: ... или -6: 00: ...

Я новичок в этом, поэтому, если вы используете какие-либо продвинутые (не начинающий) терминологию и операции, пожалуйста, дайте краткое пояснение.

Спасибо.

ответ

0

Вы можете попробовать использовать datetime модуль и применить один из ответов здесь:

https://stackoverflow.com/a/26293497/296549

https://stackoverflow.com/a/2175170/296549

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

В противном случае, повторно версия кода, будет:

import time 

offset = input("Enter the time zone offset to GMT: ") 

currentTime = time.time() 
totalSeconds = int(currentTime) 
currentSecond = totalSeconds % 60 
totalMinutes = totalSeconds // 60 
currentMinute = totalMinutes % 60 
totalHours = totalMinutes // 60 
currentHour = (totalHours % 24) 
print("Current time is: " + str((currentHour + offset) % 24) + ":" + str(currentMinute) + ":" + str(currentSecond) + "GMT") 

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

ПРИМЕЧАНИЕ: это не проверяет новый часовой пояс на основе смещения!

Чтобы сделать это статически, вы должны использовать некоторые условия. Я лично пошел бы на модуль datetime.

+0

Я не должен использовать ничего подобного. В принципе, я должен использовать базовые численные операции, такие как -, =,%, //, + =, ** и т. Д. –

+1

Ну, это именно то, что происходит здесь: вы добавляете смещение к currentHour, а затем используйте%, чтобы оставаться в 24-м формате. Кроме того, если это домашнее задание, вы должны указать его в вопросе:] – Bacon

+0

Я сейчас пытаюсь это сделать сам. Сможете ли вы физически напечатать эту строку кода, которая использует%, чтобы оставаться в формате 24h? –

 Смежные вопросы

  • Нет связанных вопросов^_^