You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何随机逐个缓慢显示字符串的每个字符

实现随机逐个缓慢显示单词字符的功能

你的初始代码用replace()方法会替换所有匹配的下划线,这显然不符合需求——我们需要逐个替换不同位置的下划线,而不是批量替换。下面是正确的实现方案:

import random
import time

target_word = "hello"
# 将下划线转为列表(字符串不可变,列表方便修改单个元素)
display_list = ["_"] * len(target_word)
# 记录已填充的位置,避免重复选择
filled_indices = set()

# 循环直到所有位置都被填充
while len(filled_indices) < len(target_word):
    # 随机选择一个未填充的索引
    while True:
        idx = random.randint(0, len(target_word) - 1)
        if idx not in filled_indices:
            break
    # 替换对应位置的字符
    display_list[idx] = target_word[idx]
    # 打印当前状态
    print("".join(display_list))
    # 等待2秒
    time.sleep(2)

代码关键点说明:

  • 用列表替代字符串:Python中字符串是不可变类型,无法直接修改单个字符,转成列表后可以轻松修改指定位置的元素。
  • 用集合filled_indices记录已填充的位置:确保每次随机选择的都是未被替换过的索引,不会重复填充同一个位置。
  • time.sleep(2)实现2秒的延时效果,满足缓慢显示的需求。

运行这段代码后,会先输出_____,2秒后随机替换一个下划线为对应字符(比如__l__),再等2秒替换下一个未填充的位置,直到最终显示hello。

内容的提问来源于stack exchange,提问作者jean

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 16:25:26