2009-08-20 5 views
0

내가 아래에 잘못된 구문을 얻고 유지하는 경우 :파이썬 - 문

if (row[0] == year) and (row[1] == month) and (row[2] == day and (row[3] == hour) and (row[4] == minute): 
     print "hello" 
     else: 
     print "hello2" 

어떤 아이디어?

+3

나중에 구문 검사 IDE를 사용하거나 오류를 읽음으로써 장래에 이런 오타를 피할 수 있습니다. – Travis

답변

13

row[2] == day에 닫는 괄호가 없습니다.

11

당신은 닫는 괄호를 놓치고 :

if (row[0] == year) and (row[1] == month) and (row[2] == day and (row[3] == hour) and (row[4] == minute): 
                  ^^^ 

는 또한, 들여 쓰기를 조심.

+2

+1을 들여 쓰기합니다. 누락 된 괄호 만이 유일한 오류는 아닙니다. – balpha

1

시도 :

하여 오류를 해결하고 모든 것을 훨씬 더 쉽게 읽을
if row[0:5] == [year, month, day, hour, minute]: 

. "행"목록 인 경우

+2

목록이 튜플 – SilentGhost

+1

과 같지 않으며 요소 수가 다릅니다. – SilentGhost

+0

Ooops. 결정된. 그러나 그것은 여전히 ​​더 재현 가능하고 수정하기가 쉽습니다. –

16

대신 (명확성을 위해)이 작업을 수행 할 수 있습니다

if row[:5] == [year, month, day, hour, minute]: 

.. 또는 행이 튜플 인 경우

if row[:5] == (year, month, day, hour, minute): 
0

후 콜론을 추가 " 시간 ")") "

+0

안녕 BigDaddy, 수평 스크롤 막대를 사용해보십시오 :-) –

2

5 개의 불필요한 왼쪽 괄호가 있지만 불필요한 4 개의 오른쪽 괄호 만 있습니다. 모든 괄호를 잃어 버리는 것을 고려하십시오!