为了账号安全,请及时绑定邮箱和手机立即绑定

Python - 覆盖已在输出中打印的文本

Python - 覆盖已在输出中打印的文本

狐的传说 2023-12-26 16:51:00
它仅在 PyCharm 中以视觉方式工作我正在编写一个电梯程序,我尝试像真正的电梯一样制作等待灯动画。但我想在之后打印一些输出,以便您可以在灯光动画开始之前看到整个电梯。from termcolor import cprintimport time# this would be user's inputlevel = 10# ABOVE PART ELEVATORcprint('         ▲  ▼        ', 'yellow')cprint('    ┏' + ('━' * 13) + '┓')# LIGHTSprint('    ┃', end='')for lights in range(1, 11):    cprint('⦿', 'yellow', end='', flush=True)    time.sleep(0.5)print('┃')# LOWER PART ELEVATORprint('    ┣━━━━━━╥━━━━━━┫')print('    ┃      ║      ┃\n' * 5 + '    ┃      ║      ┃')print('━━━━┗━━━━━━╨━━━━━━┛━━━━')print(f'\nYou have arrived at floor ', end='')cprint(level, 'yellow')所以这是一个像普通程序一样从左到右、从上到下打印的程序。但我希望输出是:         ▲  ▼            ┏━━━━━━━━━━━━━┓    ┃   #lights   ┃ <- animation appears after the entire elevator    ┣━━━━━━╥━━━━━━┫    ┃      ║      ┃    ┃      ║      ┃    ┃      ║      ┃    ┃      ║      ┃    ┃      ║      ┃    ┃      ║      ┃━━━━┗━━━━━━╨━━━━━━┛━━━━"You have arrived at floor 10" <- this after lights
查看完整描述

2 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

您的代码的问题在于,电梯的下部仅在显示灯光的 for 循环结束后才绘制。您必须在 for 循环内绘制整个电梯,这样电梯就会在灯光更新时显示。注意:为了很好地做到这一点,您应该在 for 循环的每次迭代后始终清除控制台。要执行此操作,您必须先执行此操作from os import system,然后再清除屏幕,就像system("clear")在 Linux 或 Mac 和system("cls")Windows 上执行的操作一样。这是编辑后的代码:


from termcolor import cprint

import time

from os import system


level = int(input('Which floor would you like to visit?\n')) + 1

light = '⦿'

lights = light


for currentlevel in range(1, level):

    system('clear') 

    cprint('         ▲  ▼        ', 'yellow')

    cprint('    ┏' + ('━' * 13) + '┓')

    print('    ┃', end='')

    cprint(lights, 'yellow', end='', flush=True)

    print('┃')

    print('    ┣━━━━━━╥━━━━━━┫')

    print('    ┃      ║      ┃\n' * 5 + '    ┃      ║      ┃')

    print('━━━━┗━━━━━━╨━━━━━━┛━━━━')

    print(f'\nYou have arrived at floor ', end='')

    cprint(currentlevel, 'yellow')

    time.sleep(0.5)

    lights += light

干杯!


查看完整回答
反对 回复 2023-12-26
?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

请注意,它仅适用于本机 Windows 控制台,但不适用于 pycharm 控制台,该控制台打印错误为“不支持重定向”。



查看完整回答
反对 回复 2023-12-26
  • 2 回答
  • 0 关注
  • 64 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信