如何避免用户在 Python 中输入后换行?

How to avoid line break after user input in Python?

如何更改以下代码并删除不必要的新行?

#"Please guess a number!"
choice = input ("Is it ")
print ("?")

Is it 10

?

所以结果看起来像

Is it 10?

你是说类似的意思吗?

choice = input ("enter somthing...")
print ("Is it "+str(choice)+"?")

要"remove" 代码段中的换行符,您需要发送光标控制命令以将光标移回上一行。任何具体的解决方案都取决于您使用的终端。严格来说,上面的示例中没有不必要的换行符。用户提供了 10 之后的换行符,而不是 Python。我想你可以尝试重写输入处理器,这样用户输入就不会像 getpass.getpass().

那样被回显

如果你需要比上面那个更长的,你可以把它拖出来。

选择=输入("Number:") 答案 = "Is it %s ?" % 选择 打印(答案)

不过我喜欢 Shohams,我更喜欢 pythonic 恕我直言

与这个问题中接受的答案非常相似:remove last STDOUT line in Python

但这里是为您量身定制的解决方案。诚然有点hackish,会对更好的方法感兴趣!

choice = input ("Is it ")
CURSOR_UP_ONE = '\x1b[1A'
ERASE_LINE = '\x1b[2K'
print CURSOR_UP_ONE + ERASE_LINE + 'Is it ' + str(choice) + '?'

我做深你cannot.Because如果程序是"choice = input("是")",你必须要输入什么结尾,行必须是新的line.you可以换快递。 选择=输入("Please input the number:") 打印 "Is it " + str(选择) + " ?"

如果有人在寻找解决方案,我找到了一条线:

print('Is it ' + input('Please guess a number: ') + '?')
  • 首先,要求上面一行用户输入

    Please guess a number:
    
  • 然后用户输入值

    Please guess a number: 10
    
  • 输入确认后(回车)下一行显示为

    Is it 10?