학습 본문으로 건너뛰기
오늘은 질문 하나만 해결해요203 / 216

처음이어도 괜찮아요 · 그림부터 시작해요

대상들이 이어진 모습을 그리기

오늘의 질문

일반 서점에서는 이런 장면과 닮았어요. “사람을 점으로, 서로 아는 관계를 선으로 그린 지도와 닮았어요.”

아직 답을 몰라도 괜찮아요. 아래 작은 예시를 보고 먼저 예상해 보세요.
왜 배우는지 쉬운 설명 보기

왼쪽 기록이 오른쪽 기록을 가리키고, 한 줄을 더하면 오른쪽 기록도 다시 왼쪽 기록을 가리키는 고리가 생깁니다. 이 장면을 살펴보는 까닭은 “여러 대상과 서로를 가리키는 연결을 점과 선으로 본 전체 모습이에요”라는 기준을 익혀, 비슷해 보이는 두 경우도 안전하게 나누기 위해서예요.

02 · 먼저 해 본 뒤 이름 붙이기

인공지능이 만든 설계를 고치는 수리소에서 오늘 장면 하나를 천천히 살펴봐요

동네책방 대상 카드

대상들이 이어진 모습을 그리기

반복 글을 줄여 주는 도구도 들어온 내용 확인, 안쪽 정보의 변화 막기와 안전한 화면 표시를 대신하지 않아요.
01 · 오늘 마주칠 생활 장면

왼쪽 기록이 오른쪽 기록을 가리키고, 한 줄을 더하면 오른쪽 기록도 다시 왼쪽 기록을 가리키는 고리가 생깁니다.

이 장면을 짧은 컴퓨터 글로 옮겨 천천히 확인해 볼게요.

02 · 먼저 잡아 둘 쉬운 뜻

쉬운 말로 풀면 이런 뜻이에요. “여러 대상과 서로를 가리키는 연결을 점과 선으로 본 전체 모습이에요.”

책에서 쓰는 정확한 이름은 직접 살펴본 뒤에 붙여요.

03 · 실제 첫 글 읽기

한 줄에서 한 가지 행동만 찾아요

표시를 전부 외우지 않아도 괜찮아요. 오른쪽의 쉬운 행동만 먼저 읽으세요.

  1. class Node:

    같은 정보와 일을 함께 쓸 새 종류의 설명을 시작해요.

    class
    같은 정보와 일을 함께 쓸 새 종류를 설명하기 시작하는 말로, 이 설명 묶음을 클래스라고 불러요
    Node
    같은 정보와 일을 함께 쓸 새 종류에 붙인 수업용 이름
    :
    이 줄 다음에 안쪽으로 들여쓴 일이 이어진다고 알리는 표시
  2. def __init__(self, name): self.name, self.next = name, None

    나중에 이름으로 부를 일 묶음과 받을 자리를 등록해요.

    def
    나중에 이름으로 불러 쓸 일 묶음을 등록하겠다는 말
    __init__
    이 일 묶음을 나중에 다시 부르려고 붙인 수업용 이름
    self
    지금 이 일을 맡은 한 대상을 가리키는 첫 번째 받을 자리예요. 파이썬에서는 보통 self라고 적어요
    name
    이름 붙인 일 묶음(함수)이 실제 내용을 받을 빈칸에 붙인 수업용 이름
    next
    준비된 읽기 도구에서 다음 내용 하나를 요청하는 도구
    None
    돌려줄 결과를 따로 정하지 않았다는 표시로 쓰는 값
    =
    오른쪽에서 준비한 내용을 왼쪽 이름표로 다시 찾게 잇는 표시
    :
    이 줄 다음에 안쪽으로 들여쓴 일이 이어진다고 알리는 표시
    ()
    받을 자리를 적거나 준비한 일을 실제로 시키는 둥근 표시
    ,
    여러 내용이나 입력 자리를 서로 나누는 표시
    .
    앞의 내용에 딸린 행동이나 저장된 정보를 골라 쓰는 점 표시예요
  3. left, right = Node("A"), Node("B")

    앞에서 준비한 일 묶음을 부르고 괄호 안의 실제 내용을 건네요.

    left
    수업용 값이나 중간 결과를 다음 줄에서 다시 찾으려고 붙인 이름
    right
    수업용 값이나 중간 결과를 다음 줄에서 다시 찾으려고 붙인 이름
    Node
    앞에서 설명한 새 종류로 실제 대상 하나를 만들려고 부르는 이름
    =
    오른쪽에서 준비한 내용을 왼쪽 이름표로 다시 찾게 잇는 표시
    ()
    받을 자리를 적거나 준비한 일을 실제로 시키는 둥근 표시
    ,
    여러 내용이나 입력 자리를 서로 나누는 표시
    ""
    따옴표 안의 글자를 그대로 내용으로 쓰는 표시
  4. left.next = right

    이 줄의 영어 이름과 표시를 하나씩 풀어 읽고, 앞줄에서 달라진 내용을 이어 봐요.

    left
    수업용 값이나 중간 결과를 다음 줄에서 다시 찾으려고 붙인 이름
    next
    준비된 읽기 도구에서 다음 내용 하나를 요청하는 도구
    right
    수업용 값이나 중간 결과를 다음 줄에서 다시 찾으려고 붙인 이름
    =
    오른쪽에서 준비한 내용을 왼쪽 이름표로 다시 찾게 잇는 표시
    .
    앞의 내용에 딸린 행동이나 저장된 정보를 골라 쓰는 점 표시예요
  5. print(left.name, left.next.name)

    괄호 안 내용을 다음 계산으로 보내지 않고 화면에 보여줘요.

    print
    괄호 안 내용을 화면에 보여 주는 도구
    left
    수업용 값이나 중간 결과를 다음 줄에서 다시 찾으려고 붙인 이름
    name
    수업용 값이나 중간 결과를 다음 줄에서 다시 찾으려고 붙인 이름
    next
    준비된 읽기 도구에서 다음 내용 하나를 요청하는 도구
    ()
    받을 자리를 적거나 준비한 일을 실제로 시키는 둥근 표시
    ,
    여러 내용이나 입력 자리를 서로 나누는 표시
    .
    앞의 내용에 딸린 행동이나 저장된 정보를 골라 쓰는 점 표시예요
아직 결과를 보지 않고, 대상과 붙은 정보 가운데 무엇부터 확인하면 좋을까요?

먼저 하나를 고르면 첫 글을 따라 한 결과를 열 수 있어요.

확인 순서 큰 그림 펼쳐 보기
그림을 글로 다시 읽어요

자동으로 줄인 글과 남은 책임을 나눠요

자동으로 생긴 부분과 사람이 직접 정해야 할 약속을 서로 다른 칸에 놓으세요.

  1. 자동으로 생긴 글 확인하기

    만들기, 보여 주기와 비교 중 생긴 부분을 봐요.

  2. 안 해 주는 일 적기

    들어온 내용이 허용되는지 확인하고 안쪽 정보의 변화까지 막는 일은 별도예요.

  3. 작은 반대 예로 검사하기

    인공지능 제안도 한 곳을 바꾼 예로 채택하거나 거절해요.

첫 글과 바꾼 글을 차례로 확인하면 이 칸이 열려요 · 0 / 240

책 한 권에 붙은 이름표, 책 속 정보와 시킬 일을 먼저 살펴보고 자기 말로 설명한 뒤 정확한 이름 하나와 쉬운 뜻을 함께 엽니다.인공지능이 만든 설계를 고치는 수리소에서 대상, 붙은 정보, 시킨 일과 마지막 모습을 번호·선·모양과 글로 나란히 보여 줍니다.직접 해보기: 그림을 읽고 내 말 설명을 여덟 글자 이상 적으면 현재 장면의 정확한 이름 하나와 여덟 칸 쉬운 풀이를 엽니다. · 화면 움직임을 줄여 쓰는 경우: 자동 재생 없이 고른 뒤 모습을 바로 바꿉니다. 움직임을 줄여도 같은 글 순서와 직접 확인한 내용을 읽을 수 있습니다.

03 · 이제 내가 해볼 차례

여기까지 오면 이런 일을 할 수 있어요

왼쪽 기록이 오른쪽 기록을 가리키고, 한 줄을 더하면 오른쪽 기록도 다시 왼쪽 기록을 가리키는 고리가 생깁니다. 이 장면을 살펴보는 까닭은 “여러 대상과 서로를 가리키는 연결을 점과 선으로 본 전체 모습이에요”라는 기준을 익혀, 비슷해 보이는 두 경우도 안전하게 나누기 위해서예요.

  • 컴퓨터가 글을 따라 하기 전에 마지막 모습을 먼저 골라요.
  • 대상, 붙은 정보, 시킨 일과 마지막 모습을 서로 다른 표시로 짚어요.
  • 내가 생각한 모습과 직접 확인한 모습을 나란히 적어요.
  • 무엇이 달랐는지 쉬운 말로 설명한 뒤 책에서 쓰는 정확한 이름 하나를 붙여요.
오늘 해낼 일과 다 했다고 볼 기준 보기쉬운 순서를 익힌 뒤 더 정확히 확인하고 싶을 때 열어요.

짧은 글을 먼저 예상하고 직접 확인한 뒤, 대상에 붙은 정보와 시킨 일이 어디에서 왔는지 자기 말로 설명합니다.

  • 공개 풀이를 보기 전에 마지막 모습과 그렇게 생각한 까닭을 먼저 적습니다.
  • 대상, 붙은 정보, 시킨 일과 마지막 모습을 차례로 짚습니다.
  • 생활말로 먼저 설명한 뒤 오늘의 정확한 이름 하나와 쉬운 뜻을 연결합니다.
  • 이름이나 내용이 달라진 새 장면에서도 같은 확인 순서를 사용합니다.

04 · 자주 헷갈리는 지점

틀린 답도 이유를 알면 다음에는 맞힐 수 있어요

처음부터 모두 맞힐 필요는 없어요.괜찮아요. 대상과 그 대상에 붙은 정보부터 하나씩 다시 볼까요?

헷갈리기 쉬운 이유 세 가지 보기내가 어디에서 다르게 생각했는지 찾고 싶을 때 열어요.
01겉으로 비슷하게 보이면 같은 대상이고 같은 규칙을 써도 돼요.

한 번 더 생각해 볼 질문두 대상을 같은 한 덩어리인지, 담긴 내용이 같은지만지를 나누어 적어 보세요.

이렇게 고쳐 생각해요같은 한 대상인지, 담긴 내용만 같은지와 어떤 종류의 설명을 따르는지 따로 확인해야 해요.

02처음에는 “사람을 점으로, 서로 아는 관계를 선으로 그린 지도와 닮았어요”라는 비유만 보고 비슷한 두 경우가 언제나 같다고 생각하기 쉬워요.

한 번 더 생각해 볼 질문“대상들이 이어진 모습을 그리기” 장면에서 첫 글과 바꾼 글의 확인 내용에서 무엇이 달라졌는지, “여러 대상과 서로를 가리키는 연결을 점과 선으로 본 전체 모습이에요”라는 기준과 “object graph에 선을 그렸다고 누가 복사하고, 얼마나 오래 두며, 언제 치울지가 저절로 정해지지는 않아요. 같은 대상을 가리키는 여러 길도 빠뜨리면 안 돼요”라는 주의점을 써서 설명해 보세요. 그런 다음 “주문, 상품과 손님이 서로를 어떻게 가리키는지 소유 선과 빌린 선을 나누어 그려 보세요” 장면에서는 무엇부터 확인할지도 설명해 보세요.

이렇게 고쳐 생각해요첫 글과 한 곳을 바꾼 글에서 처음 달라지는 곳을 찾고, 그 앞과 뒤 모습을 따로 확인해요.

03책에서 쓰는 이름만 외우면 새로운 문제에서도 바로 쓸 수 있어요.

한 번 더 생각해 볼 질문오늘 본 일을 정확한 이름 없이 처음 배우는 친구에게 설명해 보세요.

이렇게 고쳐 생각해요이름보다 먼저 눈앞의 정보와 달라진 행동을 자기 말로 설명해야 새로운 문제에서도 판단할 수 있어요.

05 · 더 궁금할 때만 보기

선생님과 검토자를 위한 믿을 만한 원문

원문과 어디까지 참고했는지 펼쳐 보기처음 배우는 동안에는 열지 않아도 괜찮아요.