2016-08-12 46 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),所以没有错误。