如何阅读键盘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)