如何在Python中输入时不输出新行
标题基本上已经把问题说得很清楚了。
2 个回答
1
如果你使用raw_input,它不会自动插入换行符。
>>> name = raw_input ("What...is your name? ")
What...is your name? Arthur, King of the Britons!
3
这个 input
函数用来获取用户输入,但它不会自动换行:
>>> input('tell me: ')
tell me: what?
'what?'
>>>
正如你所看到的,提示信息输出时没有换行,用户在后面输入的内容会和提示信息在同一行。当然,用户在输入的时候也会按下回车键,而(和用户输入的其他内容一样)这个回车键的效果也会被显示出来(所以后面的结果会在下一行显示)。这是不是你遇到的问题呢?
如果是这样的话,你需要使用一些特定平台的方法,比如在几乎所有机器上都可以用的 curses,而在Windows上则可以用 msvcrt(或者你可以找找Windows上是否有 curses
的移植版本,但我不知道Python 3是否有这样的版本)。这两个模块差别很大,而你也没有说明你使用的平台(或者你的具体需求——我之前的段落只是试图做个有根据的猜测;-),所以我会等你进一步说明需求和平台,而不是开始写一些可能没用的长篇大论。