파이썬 질문! (아래 질문 내용 수정)

조회수 653회

a[] = {1,3,2, 4,5,9, 7,6,1, 2,3,4, 5,6,7}

for(int = 0; i<3;i++){

if(a[i]=='1') { print("숫자 1 ") }

if(a[i]=='2') { print("숫자 2 ") }

if(a[i]=='3') { print("숫자 3 ") }

if(a[i]=='4') { print("숫자 4 ") }

if(a[i]=='5') { print("숫자 5 ") }

if(a[i]=='6') { print("숫자 6 ") }

if(a[i]=='7') { print("숫자 7 ") }

if(a[i]=='8') { print("숫자 8 ") }

if(a[i]=='9') { print("숫자 9 ") }

결과 값

= 숫자1 숫자3 숫자2

이렇게 나오는 코드입니다.

스위치를 누를시 1,3,2 다음인 4,5,9 를... 스위치를 한번 더 누를시 다음3개 (4,5,9) 한번더 누를시 (7,6,1,) ... 계속 반복해주는 루프를 만들고 싶습니다.

( print("숫자 /')는 임시로 만든거구 숫자에 맞는 LED를 킬것입니다)

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 파이썬에는 zip 함수가 있어 튜플의 각 요소들을 묶을 수 있습니다.

    이것을 이용해보면 아래와 같이 해볼 수 있습니다.

    In [1]: a = (1,3,2, 4,5,9, 7,6,1, 2,3,4, 5,6,7,)
    
    In [2]: [a[i::3] for i in range(3)]                                            
    Out[2]: [(1, 4, 7, 2, 5), (3, 5, 6, 3, 6), (2, 9, 1, 4, 7)]
    
    In [3]: list(zip(*[a[i::3] for i in range(3)]))                                
    Out[3]: [(1, 3, 2), (4, 5, 9), (7, 6, 1), (2, 3, 4), (5, 6, 7)]
    
    In [4]: for v1, v2, v3 in list(zip(*[a[i::3] for i in range(3)])): 
        ...:     print(v1, v2, v3) 
        ...:                                                                        
    1 3 2
    4 5 9
    7 6 1
    2 3 4
    5 6 7
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)