如何在不输出新行的情况下查询Python中的输入(续)

时间:2010-06-06 04:29:29

标签: python python-3.x

我已经发布了这个,但这里是确切的代码:

x1 = input("")
x2 = input("-")
x3 = input("-")
x4 = input("-")

那么,我该如何做到第一个输入和下一个“ - ”之间没有空格?

示例:

  

1234-5678-9101-1121

3 个答案:

答案 0 :(得分:1)

很丑,但你可以使用terminal escape sequences删除每次连续调用input()之间用户结束输入所创建的换行符。

适当的转义序列将<Esc>[2K擦除当前行,然后可能<Esc>[nC向前移动n个字符,其中n是通过检索最后一个输入的字符串长度来计算的( )电话回复。

答案 1 :(得分:0)

>>> x1, x2, x3, x4 = raw_input("Input number as xxxx-xxxx-xxxx-xxxx").split('-')

如果您使用的是Python版本3.x,请将rawinput替换为input

答案 2 :(得分:0)

您可以使用Python read a single character from the user中的代码逐个字符地读取stdin(基本上以无缓冲模式读取它,这样用户无需先输入enter即可看到输入)。