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

PyCharm Shell执行bi()函数后输出错位,求助解决异常问题

问题解决:PyCharm Shell中输出提示符异常跟随

问题现象

实现栈类Pilha和十进制转二进制的bi()函数后,在PyCharm Shell中执行bi(13)等调用时,输出结果末尾直接紧跟>>>提示符,后续输入会叠加在上一次结果之后,示例如下:

>>> bi(13)
1 1 0 1 >>> bi(14)
1 1 1 0 >>> bi(134)
1 0 0 0 0 1 1 0 
>>>

重启Shell和PyCharm无效,但在IDLE中运行相同代码完全正常。

问题原因

bi()函数的最后一段循环中,使用print(p.pop(), end=" ")控制每个二进制位后输出空格,但没有在所有二进制位输出完成后添加换行。PyCharm Shell的命令提示符输出逻辑对换行的依赖比IDLE更严格,缺少换行会导致提示符直接追加在上一行输出末尾。

修复方案

在bi()函数的二进制位输出循环结束后,添加一个无参数的print()语句,主动输出换行:

修改后的bi()函数代码:

def bi(x):
    p = Pilha()
    while x > 0:
        resto = x % 2
        p.push(resto)
        x = x // 2

    while not p.empty():
        print(p.pop(), end=" ")
    # 添加这一行,输出换行符
    print()

验证效果

修改后再次在PyCharm Shell中执行,输出会自动换行,提示符将正常出现在新的一行:

>>> bi(13)
1 1 0 1 
>>> bi(14)
1 1 1 0 
>>>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 17:02:41