如何让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
相关产品推荐
相关产品推荐

