2011-04-15 46 views
0

帶有縮進且沒有分號和括號的Python需要一些時間才能習慣......來自C++。這個,我肯定是一個簡單的解決方法,但我似乎無法找到問題。非常感謝您的幫助。這是我的。當我運行這段代碼時,它就像第二個'if'語句不存在一樣。即使我註釋掉第一個「如果」語句,在打印行的第二個「如果」語句從不打印屏幕:使用if語句條件來查看NULL用戶輸入並打印:「sometext ...」

import re 


while True: 
    stringName = raw_input("Convert string to hex & ascii(type stop to quit): ").strip() 
    if stringName == 'stop': 
     break 
    if stringName is None: print "You must enter some text to proceed!" 

    print "Hex value: ", stringName.encode('hex') 
    print "ASCII value: ", ', '.join(str(ord(c)) for c in stringName) 

回答

9

raw_input()返回值始終是一個字符串,永不None。如果你想檢查一個空字符串"",您可以使用

if not string_name: 
    # whatever 
1

raw_input總是返回一個字符串,從不None。檢查出raw_input的幫助。

的raw_input([提示]) - >串

閱讀來自標準輸入的字符串。尾隨的換行符被刪除。 如果用戶點擊EOF(Unix:Ctl-D,Windows:Ctl-Z + Return),則引發EOFError。 在Unix上,如果啓用,則使用GNU readline。提示字符串(如果有的話) 在讀取之前打印時沒有尾隨換行符。

+0

非常感謝.... – suffa 2011-04-15 19:54:17