python input() 相等于 eval(raw_input(prompt)) ,用来获取控制台的输入。
raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )。
注意:input() 和 raw_input() 这两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。
除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。
注意:python3 里 input() 默认接收到的是 str 类型。
while True: #input函数要求在控制台输入字串的时候必须用''括起来,不然会引发SyntaxError,纯数字不用 #python3里input()Loren接收的是str类型 reply = input('Enter text:') if reply == 'stop':break try: num = int(reply) except: print('bad' * 8) else: print (int(reply) * 2) print 'Bye'执行结果:
raw_input()实例
hint = '''funtion: 1 create new file 2 delete null file 3 delete by size please input number:''' while True: option = raw_input(hint) #获取IO输入的值 if cmp(option,'1') == 0: create() elif cmp(option,'2') == 0: deleteNullFile() elif cmp(option,'3') == 0: minSize = raw_input("minSize(K):") deleteBySize(minSize) elif cmp(option,'q') == 0: print "quit !" break else: print ("disabled input ,please try again....")
那如何判断控制台输入的字符串是字母字符还是数字字符:
s为字符串 s.isalnum() 所有字符都是数字或者字母,为真返回 Ture,否则返回 False。 s.isalpha() 所有字符都是字母,为真返回 Ture,否则返回 False。 s.isdigit() 所有字符都是数字,为真返回 Ture,否则返回 False。 s.islower() 所有字符都是小写,为真返回 Ture,否则返回 False。 s.isupper() 所有字符都是大写,为真返回 Ture,否则返回 False。 s.istitle() 所有单词都是首字母大写,为真返回 Ture,否则返回 False。 s.isspace() 所有字符都是空白字符,为真返回 Ture,否则返回 False。