2016-10-20 85 views
0

我看過教程,但不特別理解這個概念。如何調整我的代碼以允許它循環返回多個條件?

我試圖獲得與多個條件我的while循環的工作/ if語句:

while True: 
    user_input = raw_input('\n: ').upper() 
    if user_input == 'NORMAL': 
     user_input = 'Normal' 
    if re.match('(ABC|Normal|XY)', user_input): 
     check_input = cleaned_dict.get(user_input) 
    if not check_input: 
     print 'Nope' 
    if check_input: 
     print 'Yep...' 
     etc... 
     break 

不過,我收到一個錯誤:

UnboundLocalError: local variable 'check_input' referenced before assignment 

...由於它不循環當正則表達式模式不匹配時。

只有1它完美的狀態。

在此先感謝。

回答

0

您有幾種選擇,但問題是,check_input未分配,除非有一個正則表達式匹配。您可以初始化check_inputFalse外循環或添加else條款。我會告訴後者

while True: 
    user_input = raw_input('\n: ').upper() 
    if user_input == 'NORMAL': 
     user_input = 'Normal' 
    if re.match('(ABC|Normal|XY)', user_input): 
     check_input = cleaned_dict.get(user_input) 
    else: 
     check_input = False 
    if not check_input: 
     print 'Nope' 
    if check_input: 
     print 'Yep...' 
    etc... 
    break 
+0

大。謝謝 :) – ThatOnePythonGuy

相關問題