Уведомления

Группа в Telegram: @pythonsu

#1 Май 21, 2020 10:04:59

kitwexin
Зарегистрирован: 2020-05-21
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

электронные часы

Всем привет, помогите пожалуйста решить задачу, так как сам обрыл уже казалось бы все что можно и впал в полнейший ступор
На данный момент код выглядит так (я просто заменил цифры с помощью квадратов на нужные и дальше не понимаю, что от меня требуется

import datetime
while True:
a = datetime.datetime.now().time()
b = a.strftime("%X")
b = b.replace('0','\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\n\u2593\u2593 \u2593\u2593\n\u2593\u2593 \u2593\u2593\n\u2593\u2593 \u2593\u2593\n\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593')
b = b.replace('1','\u2593\u2593\u2593\u2593\u2593\n \u2593\u2593\n \u2593\u2593\n \u2593\u2593\n\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593')
b = b.replace('2','\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\n \u2593\u2593\n\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\n\u2593\u2593 \n\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593')
b = b.replace('3','\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\n \u2593\u2593\n\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\n \u2593\u2593\n\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593')
b = b.replace('4','\u2593\u2593 \u2593\u2593\n\u2593\u2593 \u2593\u2593\n\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\n \u2593\u2593\n \u2593\u2593')
b = b.replace('5','\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\n\u2593\u2593 \n\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\n \u2593\u2593\n\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593')
b = b.replace('6','\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\n\u2593\u2593 \n\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\n\u2593\u2593 \u2593\u2593\n\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593')
b = b.replace('7','\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\n \u2593\u2593\n \u2593\u2593\n \u2593\u2593\n \u2593\u2593')
b = b.replace('8','\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\n\u2593\u2593 \u2593\u2593\n\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\n\u2593\u2593 \u2593\u2593\n\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593')
b = b.replace('9','\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\n\u2593\u2593 \u2593\u2593\n\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593\n \u2593\u2593\n\u2593\u2593\u2593\u2593\u2593\u2593\u2593\u2593')
b = b.replace(':',' \n \u2593\u2593 \n \n \u2593\u2593 \n ')
print(b)
Собственно 2 вопроса: как выводить данные красиво нарисованные цифры в одну строку, а не одна за одной и как сделать так, чтобы числа не выводились бесконечно одни за одними, а именно менялись при выводи на консоль?

Прикреплённый файлы:
attachment Untitled.png (43,6 KБ)

Офлайн

#2 Май 21, 2020 14:42:15

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2679
Репутация: +  182  -
Профиль   Отправить e-mail  

электронные часы

Можешь передать своему учителю что он изувер

 import time
import datetime
def getNum(matrix):
	txt = matrix.replace('1', "▓")
	txt = txt.replace('0',' ')
	return [ x for x in txt.split("\n") if x ]
n0 = getNum("""
11111
10001
10001
10001
11111
""")
n1 = getNum("""
11100
00100
00100
00100
11111
""")
n2 = getNum("""
11111
00001
11111
10000
11111
""")
n3 = getNum("""
11111
00001
11111
00001
11111
""")
n4 = getNum("""
10001
10001
11111
00001
00001
""")
n5 = getNum("""
11111
10000
11111
00001
11111
""")
n6 = getNum("""
11111
10000
11111
10001
11111
""")
n7 = getNum("""
11111
00010
00100
01000
01000
""")
n8 = getNum(r"""
11111
10001
11111
10001
11111
""")
n9 = getNum(r"""
11111
10001
11111
00001
11111
""")
nd = getNum(r"""
00000
00100
00000
00100
00000
""")
TRANS = {
      '0': n0, '1': n1, '2': n2, '3': n3, '4': n4,
      '5': n5, '6': n6, '7': n7, '8': n8, '9': n9,
      ':': nd
}
while True:
	txt = ""
	for x in range(5):
		for y in datetime.datetime.now().strftime("%X"):
			txt += TRANS[y][x]
			txt += " "
		txt += "\n"
	print(txt)
	time.sleep(1)
	print("\x1b[7A")



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Отредактировано Rodegast (Май 21, 2020 16:10:07)

Офлайн

#3 Май 21, 2020 21:17:13

kitwexin
Зарегистрирован: 2020-05-21
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

электронные часы

Rodegast
Можешь передать своему учителю что он изувер
Как по-вашему коду заменить ‘:’ на nd? Питон говорит, что list indices must be integers or slice, not str (ошибка на строчке txt += TRANS

Офлайн

#4 Май 21, 2020 21:49:32

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2679
Репутация: +  182  -
Профиль   Отправить e-mail  

электронные часы

> Питон говорит, что list indices must be integers or slice, not str (ошибка на строчке txt += TRANS

Никаких ошибок быть не должно, приведи весь вывод.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#5 Май 21, 2020 21:54:03

kitwexin
Зарегистрирован: 2020-05-21
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

электронные часы

Rodegast
> Питон говорит, что list indices must be integers or slice, not str (ошибка на строчке txt += TRANSНикаких ошибок быть не должно, приведи весь вывод.
Traceback (most recent call last):
File “dhomework_py/22.05/clock.py”, line 91, in <module>
txt += trans
TypeError: list indices must be integers or slices, not str

Офлайн

#6 Май 21, 2020 22:05:43

kitwexin
Зарегистрирован: 2020-05-21
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

электронные часы

Rodegast
> Питон говорит, что list indices must be integers or slice, not str (ошибка на строчке txt += TRANSНикаких ошибок быть не должно, приведи весь вывод.
Все, нашел в чем ошибка и все заработало, спасибо)
Единственное, не понял что возвращает return и как это работает
Объясните пожалуйста, если не трудно

Офлайн

#7 Май 21, 2020 22:06:21

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2679
Репутация: +  182  -
Профиль   Отправить e-mail  

электронные часы

Странно, попробуй распечатать значения для x и y. Тогда станет понятно где ошибка.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version