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。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM