2016-08-12 2 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, если a истинно И b истинно. –

ответ

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

«Логический и» оценивать левый оператор, а затем правильное утверждение.

Если левый оператор возвращает «false», то правильный оператор не будет оцениваться.

0

И гарантирует, что у вас есть как минимум 2 аргумента скрипта, а также второй аргумент со значением «что». Если вы не проходите в этом аргументе, это оценивается как false при коротком замыкании (поскольку len(argv) составляет всего 1), поэтому ошибки нет.

Смежные вопросы