2014-01-27 3 views
0

큰 스도쿠 해석 알고리즘을 작성 중입니다. 이상한 문제가 발생했습니다. 코드의 어딘가에 검사 할 if 문이 있습니다. 주어진 변수의 유형. 목록이라면 if 문을 입력하고 싶습니다.스도쿠 해석 알고리즘에서 type()에 문제가 있음

내가 있었을 때 같은 코드 :

if type(cell) == type(possibilities): 
    # some code... 
: 그것은 나를 확인 그 ...의 그러나이 함께 만드는 문 (I가 인쇄를 (가)를 입력하지 않을

if type(cell) == "list": 
    # some code... 

코드를 입력합니다 ... '가능성'은 프로그램에서 이전에 할당 된 다른 변수로 항상 목록입니다. 'if-statement'앞에 print() 문을 사용하여 셀 :

print(type(cell)) 

및 일부 인쇄, 예상대로, "< 클래스"목록 ">"

문제는 무엇인가? 그것이 필요하다고 생각한다면 여기에 더 많은 코드를 넣을 수 있습니다. 나는 그것이 정말로 컸기 때문에 좋지 않을 것이라고 생각했습니다.

답변

2

당신은 더 나은

if isinstance(cell, list): 

후자의 작품

if type(cell) == list: 

으로 세포가 일부 파생 형의 경우에도 것을 수정.

1

if type(cell) == list:

공지 사항 목록 주위에 따옴표. list은 목록 유형을 나타내는 기본 제공 변수입니다.

+0

감사합니다.) "list"처럼 인쇄했기 때문에 나는 그것을 가져 가야한다고 생각했습니다 ... – RGS