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