【问题标题】:Vscode not buffering python printVscode没有缓冲python打印
【发布时间】:2021-05-12 04:09:31
【问题描述】:

例如,如果我在集成的 vscode 终端中运行此代码:

for i in range(2):
    a = input()
    print(a)

然后我粘贴以下内容:

a
b

控制台会显示:

a
a
b
b

我希望控制台显示(不更改代码):

a
b
a
b

注意:以上是从 linux 终端或 IDLE 运行 python 脚本时的典型行为,而不是在 vscode 中。我认为问题在于 vscode 控制台没有缓冲打印。

【问题讨论】:

    标签: python visual-studio-code input printing


    【解决方案1】:

    如果您想要这种输出,您可以使用列表推导将两个字母存储在一个列表中。现在显示ab。因此,如果我们打印列表,我们将得到相同的模式。

    inputs = [input() for i in range(2)]
    print('\n'.join(inputs))
    

    输出

    a
    b
    a
    b
    

    【讨论】:

    • 我正在寻找一种解决方案来修改 vscode 控制台的行为,使其表现得像 linux 终端或 IDLE。我不想在打印之前将所有值保存到数组中。
    【解决方案2】:
    myLetters=[]
    for i in range(2):
        a = input()
        myLetters.append(a)
    print(myLetters[0] + "\n"+  myLetters[1])
    

    【讨论】:

      猜你喜欢
      • 2012-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-10
      • 1970-01-01
      • 2011-01-19
      • 1970-01-01
      • 2012-02-19
      相关资源
      最近更新 更多