2016-08-12 44 views
-1

如果我運行script.py沒有通過論證它顯示是什麼邏輯與在這裏幹什麼,難道是趕上錯誤

error: list index out of bounds 

script.py

from sys import * 
if argv[1]=="what": 
    print "done" 
else: 
    pass 

如果我運行script1.py沒有傳球失誤它不顯示錯誤

script1.py

from sys import * 
if len(argv)==2 and argv[1]=="what": 
    print "done" 
else: 
    pass 

什麼是邏輯AND在做什麼?

+0

這是一個複合的if語句,'如果是真的,B是TRUE' –

回答

0
if len(argv)==2 and argv[1]=="what" 

「邏輯和」評估左語句,然後是正確的語句。

如果左聲明回報「假」,則正確的語句不會進行評估。

0

的,並確保你至少有2個腳本變量的情況,以及與價值「是什麼」第二個參數。如果您沒有通過這個參數,則通過短路評估爲假(因爲len(argv)僅爲1),所以沒有錯誤。