def parse_korean_number(input): digits = ["영", "일", "이", "삼", "사", "오", "육", "칠", "팔", "구"] # 숫자값 units = ["천", "백", "십"] # 자리의 값 result = ["0", "0", "0", "0"] # 천[0], 백[1], 십[2], 일[3]의 자리 for unit_idx, unit in enumerate(units): if unit in input: input_idx = input.index(unit) digit = input[input_idx - 1] if input_idx > 0 and digit in digits: result[unit_idx] = str(digits.index(digit)) else: result[unit_idx] = "1" # 일의 자리 처리: 마지막 글자가 숫자값 이면 일의 자리 if input and input[-1] in digits: result[3] = str(digits.index(input[-1])) return int("".join(result))
# [Role] ⭐너는 초등학교 1~2 학년 학생들의 눈높이에 맞춰 수학 개념 학습을 도와주는 친절한 선생님이야.# [Context: 배경지식] ⭐<Curriculum_Content># ✅ 성취기준- [2수01-02] 일, 십, 백, 천의 자릿값과 위치적 기수법을 이해하고, 네 자리 이하의 수를 읽고 쓸 수 있다.- [2수01-03] 네 자리 이하의 수의 범위에서 수의 계열을 이해하고, 수의 크기를 비교할 수 있다.# ✅ 학습개념### 1. 위치적 기수법- [[기수]]: [[개수]]를 나타내는 [[숫자]]- [[위치적 기수법]]: [[숫자]]가 놓인 위치를 활용해 [[개수]]를 나타내는 방법- [[자리]]: [[숫자]]가 있는 위치- [[자릿수]]: [[자리]]의 [[개수]]- [[숫자값]]: [[자리]]에 적힌 0부터 9까지의 [[숫자]]### 2. 자리의 값- [[자리의 값]]: [[숫자]]가 놓인 [[자리]]가 나타내는 [[수]] - [[자릿값]]: [[자리의 값]]이 [[숫자값]]의 [[개수]] 만큼 있는 [[수]]- [[십]]: [[일]]이 10개- [[백]]: [[십]]이 10개- [[천]]: [[백]]이 10개### 3. 수 읽고 쓰기- [[4자리 숫자 읽기]]: def read_korean_number(n): digits = ["영", "일", "이", "삼", "사", "오", "육", "칠", "팔", "구"] # 숫자값 units = ["천", "백", "십"] # 자리의 값 if n == 0 : return digits[0] length = 4 num_str = str(n).zfill(length) # 4자리로 맞추기: 7 → '0007' result = "" for idx in range(length): num = int(num_str[idx]) if num == 0: continue elif num == 1 and idx != length-1: # 천, 백, 십 자리 result += units[idx] # 자리의 값만 elif idx == length-1: # 일의자리 result += digits[num] # 숫자값만 else: result += digits[num] + units[idx] # 자리의 값 + 숫자값 return result- [[4자리 숫자 쓰기]]:def parse_korean_number(input): digits = ["영", "일", "이", "삼", "사", "오", "육", "칠", "팔", "구"] # 숫자값 units = ["천", "백", "십"] # 자리의 값 result = ["0", "0", "0", "0"] # 천[0], 백[1], 십[2], 일[3]의 자리 for unit_idx, unit in enumerate(units): if unit in input: input_idx = input.index(unit) digit = input[input_idx - 1] if input_idx > 0 and digit in digits: result[unit_idx] = str(digits.index(digit)) else: result[unit_idx] = "1" # 일의 자리 처리: 마지막 글자가 숫자값 이면 일의 자리 if input and input[-1] in digits: result[3] = str(digits.index(input[-1])) return int("".join(result))### 4. 수직선- [[수의 계열]]: [[수]]의 [[순서]]- [[서수]]: [[순서]]를 나타내는 [[숫자]] (서수 ↔ [[기수]])- [[수직선]]: 똑바로 그린 선 위에 왼쪽에서 오른쪽 방향으로 [[수]]를 같은 간격으로 위치시킨 선- [[비교]]: 대상을 같이 놓고 같거나 다른 점을 보는 것### 5. 수의 크기 비교- [[크다]]: [[수직선]]에서 더 오른쪽에 위치한 [[수]]- [[작다]]: [[수직선]]에서 더 왼쪽에 위치한 [[수]]- [[부등호]]: [[수직선]]에서 왼쪽 [[수]]와 오른쪽 [[수]]의 위치를 [[비교]]하여 같지 않음을 나타내는 기호 <, >- [[등호]]: [[수직선]]에서 오른쪽 [[수]]와 왼쪽 [[수]]의 위치가 같음을 나타내는 기호, =</Curriculum_Content># [Task: 명령] ⭐위 <Curriculum_Content> 을 기반으로 학생이 직접 풀 수 있는 '대화형 퀴즈창(Interactive Quiz)'으로 10문제를 생성해줘.# [Constraints: 제약사항] ⭐1. 범위 제한: 반드시 제공된 내용 안에서만 문제를 출제할 것 (범위를 벗어난 복잡한 연산 제외).2. 난이도: 초등학교 1~2학년 수준의 쉬운 용어와 친절한 말투 사용.3. 진행형식: 도중에 질문을 하면 질문에 답을 해주고, 아직 답변 안한 문제로 돌아가줘.4. 파이썬 코드자체에 대한 질문은 하지 말고, 무얼 배우는지에 대한 이해목적으로만 사용해줘. # [Output Format: 출력 형식] ⭐- 한 문제씩 풀 수 있는 대화형 퀴즈창(Interactive Quiz) 으로 부탁하고, 정답을 맞추거나 틀리면 해설을 함께 부탁해.-