如何阅读键盘input?
我想从Python中的键盘读取数据
我试试这个:
nb = input('Choose a number') print ('Number%s \n' % (nb))
和这个 :
conv = BufferedReader (InputStreamReader(System.inputStream)) nb = conv.readLine() print ('Number %s \n' % (nb))
但没有任何作品,无论是在日食还是在terminal,它总是停止的问题。 我可以键入一个数字,但什么都没有发生。
你知道为什么吗?
尝试
raw_input('Enter your input:')
如果你想有一个数值只需要转换它:
try: mode=int(raw_input('Input:')) except ValueError: print "Not a number"
看来你在这里混合了不同的Python(Python 2.x和Python 3.x)……这基本上是正确的:
nb = input('Choose a number: ')
问题是,它只在Python 3中受支持。正如@sharpner回答的,对于老版本的Python(2.x),你必须使用函数raw_input
:
nb = raw_input('Choose a number: ')
如果你想将其转换为数字,那么你应该尝试:
number = int(nb)
…虽然你需要考虑到这可能会引发一个例外:
try: number = int(nb) except ValueError: print("Invalid number")
如果你想用格式打印数字,build议在Python 3中使用str.format()
。
print("Number: {0}\n".format(number))
代替:
print('Number %s \n' % (nb))
但是这两个选项( str.format()
和%
)都可以在Python 2.7和Python 3中使用。
input([prompt])
等同于eval(raw_input(prompt))
,自python 2.6起可用
由于它是不安全的(因为eval),raw_input应该是关键应用程序的首选。
这应该工作
yourvar = input('Choose a number: ') print('you entered: ' + yourvar)