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。