gpt4 book ai didi

python - python语句末尾没有隐式换行

转载 作者:行者123 更新时间:2023-11-28 22:51:45 25 4
gpt4 key购买 nike

我是 Python 的初学者。我刚刚了解到 python 在每个打印语句的末尾隐式地打印一个新行。这对于我尝试过的大多数语句都是如此。

number = 23 

guess = int(input("Enter an integer"))

if number == guess:
print('guessed the number correctly')
else:
print('That was an incorrect guess')

当我执行上面的代码时,出现了一个弹出窗口,我输入了 23。这就是我得到的输出。

Enter an integerguessed the number correctly

我没有使用标准的 python,而是使用一个名为 pythonfiddle 的在线 python IDE。

最佳答案

print 函数有一个隐含的换行符(除非您使用 end 关键字参数告诉它不这样做)。 input本身明确不会:

If the prompt argument is present, it is written to standard output without a trailing newline…

当您在终端中运行 Python 时,input 通过从该终端读取一行输入来工作,因此当您键入 23 并按下 return 时,终端会回显,包括换行符。

如果您在类似 IDE 的环境(无论是 IDLE、Visual Studio 还是像 Python Fiddle 的在线 IDE)下运行 Python,它可能会通过例如弹出一个供您输入内容的对话框。在这种情况下,您的输入会出现在该框中,而不是输出中,因此没有换行符。

大多数此类 IDE 也不会在输出时显示提示——相反,它们通常会在对话框中显示。但是没有规则说他们不能将提示打印到输出(事实上,上面引用的文档的措辞暗示他们也许应该)。所以,Python Fiddle 对你所做的是完全合理的。

如果您希望您的代码能够很好地处理它,您可以尝试检测环境并在这种情况下打印您自己的换行符。我不确定如何区分该站点与 IDLE 与常规终端(我注意到 sys.stdin.isatty()sys.stdout .isatty() 在 Fiddle 上都返回 True...),但您可以通过搜索他们的文档找到它。

关于python - python语句末尾没有隐式换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21213539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com