参考网址:http://www.cnblogs.com/way_testlife/archive/2011/03/29/1999283.html
在python中如何接收一个输入的字符串。
举个例子:
#coding=utf-8 #测试input 和 raw_input x = input("please input :") print x
运行:python 23.py
输入一个数字
please input :9 9
输入一个字符串
please input :aaa Traceback (most recent call last): File "23.py", line 3, in <module> x = input("please input :") File "<string>", line 1, in <module> NameError: name 'aaa' is not defined
看到了吧,如果直接输入字符,会报错。那怎么解决这个问题呢?
需要把input 改成raw_input,修改后的代码是这样:
#coding=utf-8 #测试input 和 raw_input x = raw_input("please input :") print x
运行结果:
please input :aa
aa
input([prompt])
Equivalent to eval(raw_input(prompt))
input() 本质上还是使用 raw_input() 来实现的,只是调用完 raw_input() 之后再调用 eval() 函数,所以,你甚至可以将表达式作为 input() 的参数,并且它会计算表达式的值并返回它。
不过在 Built-in Functions 里有一句话是这样写的:Consider using the raw_input() function for general input from users.
除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。
raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )