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

如何让Python的print语句输出内容在同一行?(二进制分组场景)

解决方案

修改后的代码

import random
import time

# 假设maybe对应3组数据(每组5个数字,共15个)
maybe = range(3)
answer = 'MAYBE'

def deleteall():
    # 保留你原有清屏逻辑
    pass

def deletelastline():
    # 保留你原有删除最后一行的逻辑
    pass

if answer == 'MAYBE':
    deleteall()
    print("GIVE ME AN ANSWER!!!")
    time.sleep(1)
    deletelastline()
    
    total_digits = 0
    for _ in maybe:
        # 输出每组的5个数字
        for _ in range(5):
            print(random.choice("01"), end='', flush=True)
            total_digits += 1
            time.sleep(0.1)
        # 非最后一组时添加空格分隔
        if total_digits < 15:
            print(' ', end='', flush=True)
    # 最后补一行换行
    print()

核心修改说明

  • 取消自动换行:给print()加end=''参数,让数字连续输出在同一行,而非单独占一行。
  • 强制刷新输出:添加flush=True,确保每输出一位数字就立刻显示在屏幕上(避免因缓冲区缓存导致延迟批量显示)。
  • 分组分隔控制:通过计数器total_digits判断是否为最后一组,仅在非末尾组后输出空格,避免多余的尾部空格。
  • 优化循环逻辑:用两层循环拆分组数和每组数字的控制,代码结构更清晰,后续调整组数或每组数字数量更方便。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 14:12:26