편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2020.04.14

    파이썬 달팽이배열 관련 질문합니다


    n=4
    m=3
    k = {}
    a=1
    b=0
    c=0
    
    while c< m*n:
        for i in range(abs(m)):
            b=b+1
            c=c+1
            k[(a,b)] = c
            if c==m*n:
                break
    
        for i in range(abs(n-1)):
            a=a+1
            c=c+1
            k[(a,b)] = c
            if c==m*n:
                break
    
        for i in range(abs(m-1)):
            b=b-1
            c=c+1
            k[(a,b)] = c
            if c==m*n:
                break
    
        for i in range(abs(n-2)):
            a= a-1
            c=c+1
            k[(a,b)] = c
            if c==m*n:
                break
    
    print(k)
    

    이것을 출력하면

    {(1, 1): 1, (1, 2): 2, (1, 3): 3, (2, 3): 12, (3, 3): 13, (4, 3): 14, (4, 2): 7, (4, 1): 18, (3, 1): 19, (2, 1): 10, (2, 2): 11, (5, 3): 15, (5, 2): 16, (5, 1): 17}
    

    이렇게 나오는데 (2,3): 12로나옵니다
    (2,3): 4가 원래 맞지않나요?
    왜이렇게나온건가요?

  • 프로필 편집요청빌런님의 편집
    날짜2020.04.14

    파이썬 반복문관련 질문합니다


    n=4
    m=3
    k = {}
    a=1
    b=0
    c=0
    
    while c< m*n:
        for i in range(abs(m)):
            b=b+1
            c=c+1
            k[(a,b)] = c
            if c==m*n:
                break
    
        for i in range(abs(n-1)):
            a=a+1
            c=c+1
            k[(a,b)] = c
            if c==m*n:
                break
    
        for i in range(abs(m-1)):
            b=b-1
            c=c+1
            k[(a,b)] = c
            if c==m*n:
                break
    
        for i in range(abs(n-2)):
            a= a-1
            c=c+1
            k[(a,b)] = c
            if c==m*n:
                break
    
    print(k)
    

    이것을 출력하면

    {(1, 1): 1, (1, 2): 2, (1, 3): 3, (2, 3): 12, (3, 3): 13, (4, 3): 14, (4, 2): 7, (4, 1): 18, (3, 1): 19, (2, 1): 10, (2, 2): 11, (5, 3): 15, (5, 2): 16, (5, 1): 17}
    

    이렇게 나오는데 (2,3): 12로나옵니다
    (2,3): 4가 원래 맞지않나요?
    왜이렇게나온건가요?

  • 프로필 알 수 없는 사용자님의 편집
    날짜2020.04.14

    파이썬 반복문관련 질문합니다


    n=4 m=3 k = {} a=1 b=0 c=0

    while c< m*n:

    for i in range(abs(m)):
    
     b=b+1
     c=c+1
     k[(a,b)] = c
     if c==m*n:
        break
    
    
    
    
    
    for i in range(abs(n-1)):
    
        a=a+1
        c=c+1
        k[(a,b)] = c
        if c==m*n:
            break
    
    
    for i in range(abs(m-1)):
      b=b-1
      c=c+1
      k[(a,b)] = c
      if c==m*n:
        break
    
    
    for i in range(abs(n-2)):
        a= a-1
        c=c+1
        k[(a,b)] = c
        if c==m*n:
            break
    

    print(k)

    이것을 출력하면 {(1, 1): 1, (1, 2): 2, (1, 3): 3, (2, 3): 12, (3, 3): 13, (4, 3): 14, (4, 2): 7, (4, 1): 18, (3, 1): 19, (2, 1): 10, (2, 2): 11, (5, 3): 15, (5, 2): 16, (5, 1): 17} 이렇게 나오는데 (2,3): 12로나옵니다 (2,3): 4가 원래 맞지않나요? 왜이렇게나온건가요?