if 문

2017-04-17 2 views
0

내가 라인의 생성을 정의하는 기능을 만들려면이 목록 후 코드에서 나중에if 문

list_01= [['Little Line', '15']] 
list_02= [['Long Line', '20']] 

을 다음과 같이 나는 구성되어 여러 목록이 그 I 다음과 같이 일하고 싶다. 목록의 항목이 'Little Line'및 '15'문자열과 같으면 작은 선이 생깁니다. 코드에서 나중에 다음과 같이

def draw_line(dataset): 
    if dataset[0[0]]==('Little Line'): 
     left(dataset[0[1]]) 
     foward(25) 

그 후, 나는이 함수를 호출 할 수

draw_line(list_01) 

선을 만들 수 있습니다. 설명 된 코드는 현재 코드와 매우 유사하며 어떻게 작동해야 하는지를 보여줍니다. 이 코드는 꽤 기본 코드 여야한다는 것을 이해하지만 오류가 발생하여 작동 방법을 알 수 없습니다.

+2

'데이터 세트 [0 [0]'당신이 할 수없는 인덱스 정수 (작동하지 않을' 0 [0]'). 아마'데이터 셋 [0] [0]'을 원하셨습니까? 왜 중첩 형식입니까? –

+0

데이터 세트에 액세스하는 방법이 잘못되었습니다. 'dataset [0 [1]]'은'dataset [0] [1]'이어야합니다. '[0 [1]]'은 숫자 일 뿐이므로 실제 색인이 아닙니다. – r3ign

+0

더 나은 이해를 위해 [이 대답] (http://stackoverflow.com/a/27527429/3209112)을 살펴보십시오. – ABcDexter

답변

3

중첩 목록에 액세스하는 구문이 잘못되었습니다. 대신

dataset[0[0]] 

당신은

dataset[0][0] 

그러나 일반적으로

이 목록이을위한 합리적인 데이터 형식 아니다 할 필요가있다. 사전 적 훨씬 더 의미 할 것 :

moves = { 
    "Little line": 15, 
    "Long line": 20, 
    # etc. 
    } 

을 다음과 같이 할

def draw_line(dataset): 
    left(dataset[0]) 
    forward(25)