как присвоить значение ключа к каждой цифре datetime.now()?
import time
from datetime import datetime
def get_current_time():
now = datetime.now()
print(now.strftime(" %H:%M:%S"), end="" ) #время
def print_digits(current_time):
# значение в ключах это цифры
numbers = {'one' :['\u2588\u2588\u2588'
'\n \u2588'
'\n \u2588'
'\n \u2588'
'\n \u2588 '],
'two' : ['\u2588\u2588\u2588',' \u2588','\u2588\u2588\u2588','\u2588','\u2588\u2588\u2588'],
'tree' : ['\u2588\u2588\u2588',' \u2588', '\u2588\u2588\u2588', ' \u2588', '\u2588\u2588\u2588'],
'four' : ['\u2588 \u2588','\u2588 \u2588','\u2588\u2588\u2588',' \u2588',' \u2588'],
'five' : ['\u2588\u2588\u2588', '\u2588','\u2588\u2588\u2588',' \u2588','\u2588\u2588\u2588'],
'six' : ['\u2588\u2588\u2588', '\u2588', '\u2588\u2588\u2588', '\u2588 \u2588', '\u2588\u2588\u2588'],
'seven' : ['\u2588\u2588\u2588', ' \u2588', ' \u2588', '\u2588', '\u2588'],
'eight' : ['\u2588\u2588\u2588', '\u2588 \u2588', '\u2588\u2588\u2588', '\u2588 \u2588', '\u2588\u2588\u2588'],
'nine' : ['\u2588\u2588\u2588','\u2588 \u2588', '\u2588\u2588\u2588', ' \u2588', ' \u2588'],
'zero' : ['\u2588\u2588\u2588', '\u2588 \u2588', '\u2588 \u2588', '\u2588 \u2588', '\u2588\u2588\u2588']}
#присвоение цифры к ключу
for element in numbers.values():
numbers['two'] = 2
numbers['one'] = 1
numbers['tree'] = 3
numbers['four'] = 4
numbers['five'] = 5
numbers['six'] = 6
numbers['seven'] = 7
numbers['eight'] = 8
numbers['nine'] = 9
numbers['zero'] = 0
# условие при котором будет принтоватьтся значение ключа
if numbers['one'] == 1:
print("\r", element, end="" )
if numbers['two'] == 2:
print("\r", element, end="")
if numbers['tree'] == 3:
print( "\r", element, end="")
if numbers['four'] == 4:
print( "\r", element, end="")
if numbers['five'] == 5:
print( "\r", element, end="")
if numbers['six'] == 6:
print( "\r", element, end="")
if numbers['seven'] == 7:
print( "\r", element, end="")
if numbers['eight'] == 8:
print( "\r", element, end="")
if numbers['nine'] == 9:
print( "\r", element, end="")
if numbers['zero'] == 0:
print( "\r", element, end="")
def clear_screen():
print("\r", end="") # принт в одну строку
def sleep_for_a_while(period):
time.sleep(1) # период задержки
if __name__ == "__main__":
while True:
current_time = get_current_time()
print_digits(current_time)
clear_screen()
sleep_for_a_while(1)
Хочу присвоить значение ключа к каждой цифре datetime.now(). но не до конца понимаю логику. Буду благодарен если кто то поможет с объяснением. Я понимаю что написано некорректно, но я только начал учиться.
Ответы (2 шт):
Автор решения: vp_arth
→ Ссылка
import time
from datetime import datetime
digits = dict();
digits['0'] = 'Zero';
digits['1'] = 'One';
digits['2'] = 'Two';
digits['3'] = 'Three';
digits['4'] = 'Four';
digits['5'] = 'Five';
digits['6'] = 'Six';
digits['7'] = 'Seven';
digits['8'] = 'Eight';
digits['9'] = 'Nine';
print(datetime.now().strftime("%H:%M:%S"))
for ch in datetime.now().strftime("%H:%M:%S"):
if ch in digits:
print(digits[ch], end='')
else:
print(ch, end='')
print()
19:00:47
OneNine:ZeroZero:FourSeven
Автор решения: Serg Bocharov
→ Ссылка
В дополнение к предыдущему ответу и комментарию автора вопроса.
import colorama
from time import sleep
from datetime import datetime
digits = dict();
digits['0'] = 'Zero';
digits['1'] = 'One';
digits['2'] = 'Two';
digits['3'] = 'Three';
digits['4'] = 'Four';
digits['5'] = 'Five';
digits['6'] = 'Six';
digits['7'] = 'Seven';
digits['8'] = 'Eight';
digits['9'] = 'Nine';
colorama.init()
while True:
for ch in datetime.now().strftime("%H:%M:%S"):
if ch in digits:
print(digits[ch], end='')
else:
print(ch, end='')
sleep(1)
print("\r\033[K", end='')
colorama добавлена для windows(из-за проблем с ANSI), для unix'ов она не нужна Более детально смотреть тут