如何在Python中查询输入而不输出新行(续)
我之前已经发过这个问题了,不过这里是具体的代码:
x1 = input("") x2 = input("-") x3 = input("-") x4 = input("-")
那么,我该怎么做才能让第一个输入和下一个“-”之间没有空格呢?
举个例子:
1234-5678-9101-1121
3 个回答
0
你可以使用在这个链接中提供的代码,来逐个字符地读取用户输入(也就是以一种不需要缓冲的模式读取,这样用户输入后就能立刻看到,而不需要按回车键)。
1
虽然有点复杂,但你可以使用终端转义序列来删除用户输入后每次调用input()时产生的换行符。
具体的转义序列是<Esc>[2K
,这个可以用来清除当前行,然后可能还需要<Esc>[nC
来向前移动n个字符,其中n是通过获取上一次input()调用返回的字符串长度来计算的。
0
>>> x1, x2, x3, x4 = raw_input("Input number as xxxx-xxxx-xxxx-xxxx").split('-')
如果你在用Python 3.x版本,那就把rawinput
换成input
。