Python终端自定义快慢文本打印求助 入门4天课程小游戏开发需求
Python终端逐字慢打印实现(零依赖新手版)
实现不需要安装任何第三方工具,仅用Python自带的time模块即可完成,支持自定义任意段落的打印速度。
核心实现逻辑
逐字符输出目标文本,每个字符打印完成后按设定时长停顿,即可模拟打字机慢打效果。其中通过调整单个字符的停顿时长,就能实现快慢切换:
- 停顿时间越长,打印速度越慢
- 停顿时间越短,打印速度越快
- 不需要慢打的段落可以直接用原生
print(),完全不影响原有逻辑
通用慢打印函数
import time def slow_print(text, char_interval=0.1): for char in text: print(char, end='', flush=True) time.sleep(char_interval) print()
注意:
flush=True必须加,否则终端会缓存输出内容,无法看到逐字打印的效果。
使用方法
- 想要慢氛围感开场:直接调用
slow_print(文本内容),默认每个字停顿0.1秒,节奏适中 - 想要快速打印日常提示:调用时传更小的间隔值,比如
slow_print(文本内容, char_interval=0.02),速度接近原生print - 完全不想慢打的段落:直接用原来的
print(文本内容)即可
修正后可直接运行的游戏代码
(顺手修正了原代码里的两个语法问题:print语句前的多余缩进、lower()方法漏加括号的调用错误)
import time def slow_print(text, char_interval=0.1): for char in text: print(char, end='', flush=True) time.sleep(char_interval) print() # 开场用默认慢速度打印 Escape_the_python = "Welcome to Escape the Python! What is your name?..." slow_print(Escape_the_python) name = input("") while True: # 欢迎语快速打印 slow_print(f"Welcome {name}. Are you ready to begin?", char_interval=0.02) begin = input("") if begin.lower() == "yes": # 启动提示用慢速度营造氛围感 slow_print("Let the game begin...") break elif begin.lower() == "no": slow_print("Type Yes when you're ready!", char_interval=0.02) else: slow_print("Invalid option please try again.", char_interval=0.02)
新手调整小贴士
如果觉得默认节奏不符合预期,直接修改调用时的char_interval数值即可:
- 想要更慢的打字机效果:把间隔调到0.15~0.2秒
- 想要接近正常的阅读速度:把间隔调到0.03~0.05秒
内容的提问来源于stack exchange,提问作者AndrewSherlock
相关产品推荐
相关产品推荐

