如何更改以下代码并删除不必要的新行?
#"Please guess a number!"
choice = input ("Is it ")
print ("?")
是10
所以结果看起来像
是10吗?
答案 0 :(得分:2)
choice = input ("enter somthing...")
print ("Is it "+str(choice)+"?")
答案 1 :(得分:2)
To"删除"在您的代码片段中的换行符中,您需要发送光标控制命令以将光标移回上一行。任何具体的解决方案都取决于您使用的终端。严格来说,上面的示例中没有不必要的换行符。用户提供了10行之后的换行符,而不是Python。我想您可以尝试重写输入处理器,以便用户输入不会像getpass.getpass()
那样回显。
答案 2 :(得分:1)
如果有人在寻找解决方案,我发现了单行:
print('Is it ' + input('Please guess a number: ') + '?')
首先,请求上述行用户输入为
Please guess a number:
然后用户输入值
Please guess a number: 10
输入确认后(按Enter键),下一行显示为
Is it 10?
答案 3 :(得分:0)
如果你需要它比上面那个更长,你可以把它拖出来。
选择=输入("数字:") 回答="是%s?" % 选择 打印(回答)
我喜欢Shohams,更喜欢pythonic imho
答案 4 :(得分:0)
与此问题中接受的答案非常相似:remove last STDOUT line in Python
但是这里是根据您的解决方案量身定制的。不可否认的是,对一个更好的方式感兴趣!
choice = input ("Is it ")
CURSOR_UP_ONE = '\x1b[1A'
ERASE_LINE = '\x1b[2K'
print CURSOR_UP_ONE + ERASE_LINE + 'Is it ' + str(choice) + '?'
答案 5 :(得分:-1)
我做得很深,你不能。因为如果程序是"选择=输入("是它")",你必须到输入的那一端,该行必须是新线。你可以改变快递。 选择=输入("请输入数字:") 打印"它是" + str(选择)+" ?"