参考网址:http://www.cnblogs.com/way_testlife/archive/2011/03/29/1999283.html
在python中如何接收一个输入的字符串。
举个例子:
#coding=utf-
#测试input 和 raw_input
x = input("please input :")
print x
运行:python 23.py
输入一个数字
please input :
输入一个字符串
please input :aaa
Traceback (most recent call last):
File "23.py", line , in <module>
x = input("please input :")
File "<string>", line , in <module>
NameError: name 'aaa' is not defined
看到了吧,如果直接输入字符,会报错。那怎么解决这个问题呢?
需要把input 改成raw_input,修改后的代码是这样:
#coding=utf-
#测试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 )