Как удалить всё из консоли вывода в python?
Я хочу сделать игру. Но мне нужно чтобы всё с output стиралось после принта(последнего, их несколько). Пробовал end='\r', flush=True, os.system('cls')
(у меня Windows). Что делать?
Код игры:
import keyboard
life = True
a = ["#", " ", " ", "#", "#", "#", "#", " ", " ", "#"]
z = 2
h = 0
while life:
print("###########")
print("# #")
print("# #")
print("# #")
print("# #")
print("# #")
print("# #")
print("# #")
y = ''
for i in a:
y += i
print(y)
print("###########")
if h == 0:
if keyboard.is_pressed("d"):
a[z + 4] = "#"
if z != 0:
a[z] = " "
z += 1
if keyboard.is_pressed("a"):
a[z] = "#"
if z < 5:
a[z + 4] = " "
z -= 1
h = 0
if keyboard.is_pressed("d") or keyboard.is_pressed("a"):
h = 1
Ответы (2 шт):
Автор решения: ikikaidesu
→ Ссылка
Добавил очистку и задержку, запустил в консоли и все работает(если запускаете скрипт через pycharm, то очистки не будет как и возможности поиграть как таковой)
import keyboard
import os
import time
life = True
a = ["#", " ", " ", "#", "#", "#", "#", " ", " ", "#"]
z = 2
h = 0
while life:
# сама очистка
os.system('cls')
print("###########")
print("# #")
print("# #")
print("# #")
print("# #")
print("# #")
print("# #")
print("# #")
y = ''
for i in a:
y += i
print(y)
print("###########")
if h == 0:
if keyboard.is_pressed("d"):
a[z + 4] = "#"
if z != 0:
a[z] = " "
z += 1
if keyboard.is_pressed("a"):
a[z] = "#"
if z < 5:
a[z + 4] = " "
z -= 1
h = 0
if keyboard.is_pressed("d") or keyboard.is_pressed("a"):
h = 1
# добавил для плавности небольшую задержку
time.sleep(0.1)
вот скрин с консоли что выводит
Автор решения: чистов_n
→ Ссылка
Можно с помощью colorama
:
pip install colorama
import keyboard
import os
import time
import colorama
colorama.init()
life = True
a = ["#", " ", " ", "#", "#", "#", "#", " ", " ", "#"]
z = 2
h = 0
while life:
print("###########")
print("# #")
print("# #")
print("# #")
print("# #")
print("# #")
print("# #")
print("# #")
print(''.join(a))
print("###########")
if h == 0:
if keyboard.is_pressed("d"):
a[z + 4] = "#"
if z != 0:
a[z] = " "
z += 1
if keyboard.is_pressed("a"):
a[z] = "#"
if z < 5:
a[z + 4] = " "
z -= 1
h = 0
if keyboard.is_pressed("d") or keyboard.is_pressed("a"):
h = 1
# добавил для плавности небольшую задержку
time.sleep(0.1)
print(colorama.Cursor.UP(11)) # Двигаем курсор вверх на 11