python中input和raw_input函数

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。

 

原文地址:https://www.cnblogs.com/yuanqiangfei/p/8086302.html