기본 콘텐츠로 건너뛰기

방송대 파이썬프로그래밍기초 3강: 변수 할당과 연산식 실행

0-썸네일-요약노트-파이썬프로그래밍기초-3강

방송대 파이썬프로그래밍기초 3강: 변수 할당과 연산식 실행

원뿔의 반지름이 바뀔 때마다 계산식 속 숫자를 모두 고쳐야 한다면 한 곳을 빠뜨리기 쉽다. 문자열처럼 보이는 숫자를 계산에 넣거나 연산 순서를 잘못 읽으면 실행되더라도 뜻이 다른 결과가 나온다. 이 글은 원뿔 계산 프로그램을 단계별로 개선하면서 값의 타입, 표현식, 변수, 식별자, 연산자, 내장 함수, 들여쓰기와 주석이 각각 어떤 문제를 해결하는지 추적한다.

숫자를 반복해서 쓰면 계산식의 뜻과 수정 지점이 흐려진다

강의자료의 문제는 반지름 r, 높이 h, 모선 a가 주어진 원뿔의 부피와 겉넓이를 출력하는 것이다. 부피는 1/3 × π × r² × h, 겉넓이는 πr² + πra로 계산한다. 반지름 10, 높이 24, 모선 26, 원주율의 근삿값 3.14를 직접 넣으면 다음과 같이 쓸 수 있다.

print(1 / 3 * 3.14 * 10 * 10 * 24)
print(3.14 * 10 * 10 + 3.14 * 10 * 26)

이 코드는 각각 2512.0과 1130.4를 출력한다. 그러나 10이 반지름인지 다른 값인지 코드만 보고 즉시 알기 어렵고, 반지름을 바꾸려면 여러 위치를 빠짐없이 고쳐야 한다. 같은 값을 여러 번 직접 쓰는 방식의 문제는 계산 가능 여부가 아니라 의미와 변경 지점이 분산된다는 데 있다.

개선 기준: 반복되는 값에 의미 있는 이름을 붙이고, 한 번 할당한 이름을 표현식에서 다시 사용한다. 그러면 값의 저장, 계산, 출력이 서로 다른 역할로 분리된다.

값의 타입은 가능한 연산을 결정한다

데이터 타입은 값이 어떤 종류인지 구분하는 기준이다. 파이썬에서 정수 53000000은 소수점이 없는 수이고, 실수 3.141592는 소수점을 포함한 수다. "53000000"은 숫자 모양이어도 따옴표로 묶였으므로 문자열이다. 문자열은 유니코드 기반의 문자들을 순서대로 담는다.

값타입가능한 해석판단 단서
53000000정수 int개수나 정수 산술에 사용할 수 있다따옴표와 소수점이 없다
3.141592실수 float소수 부분이 필요한 계산에 사용할 수 있다소수점을 포함한다
"53000000"문자열 str번호나 문자 데이터처럼 다룬다따옴표로 묶여 있다

타입은 화면에 보이는 모양보다 중요하다. 20 + 3은 두 정수의 덧셈이어서 23이 되지만, "20" + "3"은 두 문자열을 이어 붙여 "203"을 만든다. 반면 문자열과 정수를 변환 없이 더하려 하면 타입이 맞지 않아 오류가 난다.

오개념 교정: 따옴표 안에 숫자가 있다는 이유로 산술 계산용 수가 되는 것은 아니다. 값을 읽을 때는 생김새가 아니라 따옴표와 소수점 같은 표기, 그리고 수행하려는 연산을 함께 확인해야 한다.

표현식은 값을 만들고 함수 호출은 정해진 작업을 수행한다

표현식은 값과 연산자가 결합되어 하나의 결과값을 만드는 코드다. 2 * (7 + 15)에서 2, 7, 15는 연산 대상인 피연산자이고, *와 +는 연산자다. 파이썬 인터프리터는 표현식을 정해진 우선순위에 따라 평가해 결과값을 만든다.

함수는 미리 정한 특정 작업을 수행하는 명령문의 집합이다. print("Hello World!")에서 print는 함수 이름이고 괄호 안 문자열은 함수에 전달하는 입력값, 즉 매개변수 위치의 값이다. 함수 호출이 실행되면 print는 전달받은 값을 화면에 출력한다. input()은 사용자 입력을 받아 프로그램이 사용할 값으로 돌려주는 내장 함수다.

코드 조각핵심 구성실행 결과 또는 역할
2 * (7 + 15)값·연산자·괄호괄호 안을 먼저 계산하여 하나의 값 44를 만든다
"computer" + "science"문자열 피연산자와 +문자열을 연결한 값을 만든다
print("Hello")함수 이름과 입력값문자열을 화면에 출력한다
input()입력을 받는 내장 함수 호출사용자가 입력한 값을 프로그램에 돌려준다

명령문은 프로그램이 수행할 동작을 지시하는 코드 단위다. 하나의 표현식이 명령문 안에 포함될 수 있고, 함수 호출도 명령문으로 실행될 수 있다. 따라서 값, 표현식, 함수 호출, 명령문은 서로 배타적인 이름이 아니라 작은 구성에서 큰 실행 단위로 이어지는 관점이다.

할당문은 오른쪽을 먼저 계산해 왼쪽 이름에 연결한다

변수는 처리할 데이터나 계산 결과를 저장하고 다시 사용하기 위한 이름이다. 할당 연산자 =는 오른쪽 표현식을 먼저 평가한 뒤 그 결과값을 왼쪽 변수 이름에 연결한다. 강의자료의 표현대로 왼쪽은 값을 할당받는 대상인 lvalue, 오른쪽은 계산되어 호출되는 값인 rvalue로 볼 수 있다.

rad = 10
hei = 24
sla = 26

print(1 / 3 * 3.14 * rad ** 2 * hei)
print(3.14 * rad ** 2 + 3.14 * rad * sla)

첫 줄을 읽는 순서는 “rad와 10이 같은가?”가 아니다. 오른쪽의 정수값 10을 준비하고 그 값을 왼쪽 이름 rad로 다시 사용할 수 있게 연결한다. 이후 식의 rad가 등장할 때마다 현재 연결된 값 10을 가져온다.

이제 반지름을 12로 바꾸려면 첫 할당문만 rad = 12로 수정하면 된다. 이름을 쓴 덕분에 식에서 각 값의 의미가 보이고 변경 지점도 한 곳으로 줄었다. 다만 변수 이름과 값은 같은 것이 아니다. 이름은 값을 가리키는 식별자이고, 다른 값을 다시 할당하면 그 이름이 가리키는 값도 바뀐다.

오개념 교정: 할당의 =를 수학의 등호처럼 좌우가 같다는 주장으로 읽으면 안 된다. rad = rad + 1은 수학식으로는 성립하기 어렵지만, 프로그램에서는 오른쪽의 현재 값을 계산한 뒤 그 결과를 왼쪽 이름에 다시 할당하는 유효한 명령문이다.

식별자는 문법에 맞고 의미가 드러나야 한다

식별자는 프로그램 안에서 변수, 함수, 클래스, 객체 등을 구별하기 위해 붙이는 이름이다. 문자·숫자·밑줄로 구성할 수 있지만 숫자로 시작할 수 없고, 대문자와 소문자를 구별하며, 파이썬이 문법적 용도로 정한 예약어와 같을 수 없다. 강의자료는 Python 3.11.2 기준의 예약어 목록을 제시하며 False, None, True, if, for, while, class, def 등이 여기에 속한다.

후보 이름사용 가능 여부이유
cone_height가능문자로 시작하고 문자와 밑줄만 사용하며 의미도 드러난다
height2가능숫자가 첫 글자가 아니라 뒤에 있다
2height불가능숫자로 시작한다
cone-height불가능하이픈은 이름의 문자가 아니라 뺄셈 연산자로 해석된다
for불가능파이썬 문법에 이미 쓰이는 예약어다
rad와 Rad둘 다 가능하지만 서로 다름대문자와 소문자를 구별한다

문법상 가능한 이름이라고 모두 좋은 것은 아니다. x보다 radius, hei보다 height처럼 역할이 드러나는 이름은 계산식의 의미를 읽는 시간을 줄인다. 다만 짧은 수학식에서 이미 의미가 분명한 기호를 그대로 쓰는 경우처럼 문맥에 따라 적절한 길이는 달라질 수 있다.

산술 연산자는 결과의 종류와 의미가 서로 다르다

연산자는 피연산자에 어떤 계산을 수행할지 지시하는 기호다. 피연산자가 하나이면 단항 연산자, 두 개이면 이항 연산자라고 한다. 산술 연산자 가운데 +, -, *, /는 익숙하지만, **, //, %는 기호를 혼동하기 쉽다.

연산자의미예결과
**거듭제곱2 ** 101024
/일반 나눗셈17 / 53.4
//몫을 구하는 나눗셈17 // 53
%나머지17 % 52
*곱셈2 * 1020

17 = 5 × 3 + 2로 검산하면 몫 3과 나머지 2의 관계가 확인된다. /가 만드는 3.4는 전체 나눗셈 결과이고, //와 %는 같은 나눗셈을 몫과 나머지로 나누어 본 것이다. 원뿔의 r²는 rad ** 2로 표현하며 rad * 2와는 의미가 다르다.

우선순위는 괄호에서 시작해 할당에서 끝난다

한 표현식에 여러 연산자가 있으면 파이썬은 우선순위에 따라 계산한다. 이 강의 범위에서는 괄호 내부, 거듭제곱, 곱셈·나눗셈·몫·나머지, 덧셈·뺄셈, 할당 순으로 이해하면 된다. 같은 우선순위의 곱셈 계열과 덧셈 계열은 보통 왼쪽에서 오른쪽으로 진행한다.

직접 구성한 학습용 예로 3 + 2 ** 3 * 5를 계산해 보자. 먼저 거듭제곱 2 ** 3이 8이 된다. 다음으로 곱셈 8 * 5가 40이 되고, 마지막 덧셈으로 결과는 43이다. (3 + 2) ** 3 * 5처럼 괄호를 추가하면 5의 세제곱에 5를 곱하므로 625가 된다. 괄호는 장식이 아니라 계산 트리를 바꾸는 기호다.

단계3 + 2 ** 3 * 5(3 + 2) ** 3 * 5
먼저 계산2 ** 3 = 83 + 2 = 5
다음 계산8 * 5 = 405 ** 3 = 125
최종 결과3 + 40 = 43125 * 5 = 625

오류 방지: 머릿속 계산 순서와 언어의 우선순위가 같다고 추측하지 않는다. 복합식은 괄호·거듭제곱·곱셈 계열·덧셈 계열 순으로 작은 결과를 적고, 의도한 순서가 중요하면 괄호로 명시한다.

내장 함수는 자주 쓰는 계산을 이름으로 호출한다

내장 함수는 파이썬 인터프리터에 기본으로 포함되어 별도로 정의하지 않고 호출할 수 있는 함수다. 입출력, 타입 변환, 수학 연산 등 반복해서 필요한 작업을 함수 이름과 입력값으로 요청한다. 이 강의에서는 수학 계산에 사용할 수 있는 max, min, round, abs, pow를 다룬다.

호출결과선택 기준
max(2, 3, 4)4여러 값 중 가장 큰 값이 필요하다
min(2, 3, 4)2여러 값 중 가장 작은 값이 필요하다
round(3.141592, 2)3.14지정한 자리까지 반올림한다
abs(-3)3부호를 제외한 절댓값이 필요하다
pow(2, 3)8거듭제곱을 함수 호출 형태로 계산한다

pow(2, 3)과 2 ** 3은 이 예에서 같은 8을 만든다. 하지만 round는 값을 반올림하고 abs는 절댓값을 구하므로 서로 바꿔 쓸 수 없다. 함수의 이름을 외울 때는 입력값의 개수만 보지 말고 어떤 결과를 얻으려는지 함께 연결해야 한다.

모선까지 계산하면 입력에서 출력까지 하나의 흐름이 된다

직접 주어진 모선 26 대신 반지름과 높이로 모선을 계산해 보자. 직각삼각형의 관계에서 a = √(r² + h²)이므로 제곱합의 0.5제곱을 구하면 된다. 강의자료의 개선 과정을 하나로 합치면 다음 코드가 된다.

# 원뿔의 반지름과 높이
rad = 10
hei = 24

# 모선의 길이
sla = pow(rad ** 2 + hei ** 2, 0.5)

# 부피와 겉넓이
volume = 1 / 3 * 3.14 * rad ** 2 * hei
surface = 3.14 * rad ** 2 + 3.14 * rad * sla

print(volume)
print(surface)

실행 흐름을 중간값으로 검산해 보자. 먼저 rad ** 2은 100이고 hei ** 2은 576이다. 합은 676이며 pow(676, 0.5)는 26.0이므로 모선이 주어진 값과 일치한다. 부피는 1/3 × 3.14 × 100 × 24 = 2512.0, 겉넓이는 3.14 × 100 + 3.14 × 10 × 26 = 314 + 816.4 = 1130.4다.

이 개선은 단순히 코드가 길어진 것이 아니다. rad와 hei는 입력 성격의 값, sla는 중간 계산 결과, volume과 surface는 최종 결과라는 역할이 드러난다. 변수의 값이 바뀌면 뒤의 표현식이 그 값을 사용해 다시 계산되므로 변경과 검산의 경로도 선명해진다.

들여쓰기와 주석은 코드의 구조와 의도를 구분한다

파이썬은 들여쓰기에 의존하는 언어다. 들여쓰기는 관련 문장을 같은 코드 블록으로 묶는 문법적 표시이며, 보통 스페이스 4칸을 권장한다. 같은 블록은 같은 깊이로 맞추고, 블록 안에 새 블록이 생기면 4칸을 더 들여쓴다. 다음 예는 조건문의 세부 문법을 배우기 위한 것이 아니라 두 출력문이 같은 블록에 속한다는 모양을 보여 주는 학습용 예다.

if True:
    print("첫 번째 출력")
    print("같은 블록의 두 번째 출력")

print("블록 밖의 출력")

앞의 두 print는 같은 4칸 깊이에 있어 하나의 블록이고, 마지막 print는 들여쓰기가 없어 블록 밖이다. 같은 블록에서 공백 수를 제멋대로 바꾸거나 최상위 문장을 이유 없이 들여쓰면 구조가 달라지거나 오류가 발생한다.

주석은 프로그램의 구조, 동작 원리, 사용 방법 등을 기록해 가독성·안정성·유지보수성을 높인다. # 뒤의 한 줄은 실행에 영향을 주지 않는 주석이다. 강의자료는 따옴표 세 개를 여러 줄 설명 방법으로 함께 소개하지만, 엄밀히 말하면 따옴표 세 개로 만든 것은 문자열 리터럴이다. 함수·클래스·모듈 첫 부분에 놓이면 문서 문자열이 될 수 있으나, 일반적인 여러 줄 주석은 각 줄에 #를 쓰는 편이 뜻이 분명하다.

구분 기준: 들여쓰기는 “어떤 문장들이 같은 실행 블록인가”를 나타내고, 주석은 “이 코드가 왜 존재하고 무엇을 의도하는가”를 사람에게 설명한다. 둘 다 읽기 쉬움을 돕지만 들여쓰기는 문법, 주석은 설명이라는 역할 차이가 있다.

코드 오류는 값·이름·식·구조 순으로 좁힌다

짧은 계산 코드가 예상대로 동작하지 않을 때 한 줄씩 무작정 바꾸면 새 오류를 만들기 쉽다. 먼저 값의 타입이 계산 목적과 맞는지 확인한다. 다음으로 식별자가 숫자로 시작하거나 예약어를 사용하지 않았는지, 대소문자를 바꾸어 쓰지 않았는지 본다. 그 뒤 연산자가 의도한 계산인지, 괄호와 우선순위가 맞는지 중간값을 적어 검산한다.

마지막으로 할당의 방향, 함수 이름과 입력값, 들여쓰기 깊이를 확인한다. 예를 들어 rad = "10"은 문법적으로 유효하지만 산술식에서는 문자열이어서 문제가 되고, rad * 2는 실행되지만 반지름의 제곱을 의도했다면 연산자를 잘못 고른 것이다. 실행 오류와 논리 오류를 구분해야 수정 지점도 정확해진다.

점검 층확인 질문대표적인 잘못
값과 타입수·문자열 중 계산에 맞는 값인가?"10"을 정수 10처럼 사용한다
이름과 할당식별자 규칙과 오른쪽 우선 평가를 지켰는가?2height를 이름으로 쓰거나 =를 비교로 읽는다
표현식연산자와 우선순위가 수식의 뜻과 같은가?제곱에 * 2를 쓰거나 괄호를 빠뜨린다
함수와 구조함수 입력과 블록 깊이가 맞는가?같은 블록의 들여쓰기를 다르게 쓴다
설명이름과 주석이 코드의 이유를 드러내는가?값만 반복하고 계산 단계의 뜻을 남기지 않는다

자가 점검: 코드에서 숫자 하나를 다른 값으로 바꿨을 때 수정할 곳이 몇 개인지, 각 표현식의 타입과 중간값을 말할 수 있는지 확인해 보자. 설명하지 못하는 부분이 바로 변수 이름·괄호·주석을 개선할 지점이다.

핵심 개념 정리

  • 정수·실수·문자열은 값의 타입이며, 따옴표와 소수점 같은 표기와 수행할 연산으로 구분한다.
  • 표현식은 피연산자와 연산자를 평가해 하나의 값을 만들고, 함수 호출은 이름으로 정해진 작업을 실행한다.
  • 할당문은 오른쪽 표현식을 먼저 평가해 결과를 왼쪽 변수 이름에 연결하며 수학의 등호와 역할이 다르다.
  • 식별자는 문자·숫자·밑줄로 만들되 숫자로 시작하거나 예약어와 같을 수 없고 대소문자를 구별한다.
  • /는 일반 나눗셈, //는 몫, %는 나머지, **는 거듭제곱을 계산한다.
  • 복합식은 괄호, 거듭제곱, 곱셈 계열, 덧셈 계열, 할당의 순서를 따라 중간값을 검산한다.
  • 내장 함수는 자주 쓰는 작업을 제공하며 원하는 출력에 맞춰 max, min, round, abs, pow 등을 선택한다.
  • 들여쓰기는 코드 블록을 나타내는 문법이고, 주석은 코드의 구조와 의도를 사람에게 설명한다.

계산 프로그램은 입력값부터 읽고 각 값의 타입을 판별한 뒤, 반복되는 값에 유효하고 의미 있는 변수 이름을 붙인다. 오른쪽 표현식의 괄호와 연산 우선순위를 작은 중간값부터 검산하고, 필요한 내장 함수의 입력과 결과를 확인한다. 마지막으로 들여쓰기에서 실행 블록을, 주석에서 코드의 의도를 점검한다. 이 순서를 따르면 문법 오류뿐 아니라 실행은 되지만 뜻이 틀린 계산도 체계적으로 찾을 수 있다.

예상문제 10선

1. 값 53000000, 3.141592, "53000000"의 타입을 순서대로 바르게 연결한 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②

  • ① 오답: 따옴표가 없는 첫 값은 문자열이 아니며 마지막 값은 따옴표 때문에 정수가 아니다.
  • ② 정답: 소수점 없는 수, 소수점 있는 수, 따옴표로 묶인 문자 데이터라는 단서를 모두 반영한다.
  • ③ 오답: 소수점이 있는 두 번째 값을 문자열로, 따옴표가 있는 세 번째 값을 실수로 뒤바꾸었다.
  • ④ 오답: 첫 값에는 소수점이 없고 두 번째 값에는 소수점이 있으므로 두 수의 타입을 거꾸로 분류했다.

2. 할당문 total = price * count의 처리 순서를 가장 정확하게 설명한 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④

  • ① 오답: 할당문은 출력이나 이름 삭제를 지시하지 않으며 계산 결과의 저장이 목적이다.
  • ② 오답: 이 문장의 =는 동등성 비교가 아니라 값을 이름에 연결하는 할당 연산자다.
  • ③ 오답: 계산 대상과 저장 방향을 모두 바꾸었다. 왼쪽은 결과를 받을 이름이다.
  • ④ 정답: rvalue인 오른쪽 표현식의 결과를 구한 다음 lvalue인 왼쪽 변수에 할당한다.

3. 다음 코드의 출력으로 옳은 것은? print(17 // 5, 17 % 5, 17 / 5)

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①

  • ① 정답: 17 = 5 × 3 + 2이므로 몫은 3, 나머지는 2이고 일반 나눗셈은 3.4다.
  • ② 오답: //와 /의 결과를 뒤바꾸었다.
  • ③ 오답: 몫과 나머지를 바꾸어 17 = 5 × 2 + 3으로 잘못 해석했다.
  • ④ 오답: 나머지 연산자와 일반 나눗셈의 출력 위치를 바꾸었다.

4. 다음 중 파이썬 식별자로 사용할 수 있고 원뿔 높이라는 의미도 비교적 잘 드러나는 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③

  • ① 오답: 식별자는 숫자로 시작할 수 없으므로 첫 글자에서 규칙을 위반한다.
  • ② 오답: 하이픈은 이름의 일부가 아니라 뺄셈 연산자로 해석된다.
  • ③ 정답: 문자로 시작하고 밑줄을 사용할 수 있으며 이름에서 값의 역할도 읽을 수 있다.
  • ④ 오답: for는 반복 문법에 쓰는 예약어이므로 식별자로 사용할 수 없다.

5. 표현식 3 + 2 ** 3 * 5의 평가 결과는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④

  • ① 오답: 3 + 2를 먼저 묶어 세제곱한 것처럼 계산했으며 뒤의 곱셈도 반영하지 않았다.
  • ② 오답: 괄호가 없는 식을 (3 + 2) ** 3 * 5로 바꾸어 계산한 결과다.
  • ③ 오답: 왼쪽부터 덧셈을 먼저 수행해 5 ** 3이 아닌 다른 순서를 적용했다.
  • ④ 정답: 거듭제곱 8, 곱셈 40, 덧셈 43의 순서로 평가한다.

6. 내장 함수의 호출과 결과를 바르게 연결한 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②

  • ① 오답: abs는 부호를 제거한 절댓값을 구하므로 결과는 3이다.
  • ② 정답: 두 번째 입력 2에 따라 소수점 아래 두 자리까지 반올림한다.
  • ③ 오답: min은 가장 작은 2를 고르며 4를 고르는 함수는 max다.
  • ④ 오답: pow는 곱셈이 아니라 거듭제곱을 계산하므로 결과는 8이다.

7. rad = 10, hei = 24일 때 sla = pow(rad ** 2 + hei ** 2, 0.5)의 계산 과정을 바르게 나타낸 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③

  • ① 오답: 각각을 제곱해 합한 뒤 제곱근을 구하는 피타고라스 관계를 단순 덧셈과 두 배로 바꾸었다.
  • ② 오답: ** 2를 제곱이 아니라 2배로, ** 0.5를 0.5배로 잘못 읽었다.
  • ③ 정답: 두 제곱의 합 676을 구하고 0.5제곱인 제곱근을 적용하면 모선은 26이다.
  • ④ 오답: 식에는 10 ** 24나 나머지 연산자가 없으며 각 변을 따로 제곱해야 한다.

8. 파이썬 코드에서 들여쓰기와 주석의 역할을 바르게 적용한 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①

  • ① 정답: 들여쓰기는 블록 구조를, # 주석은 사람이 읽을 설명을 나타낸다는 역할을 함께 지킨다.
  • ② 오답: 블록 깊이가 불일치하면 구조 오류가 생기며 주석 내용은 실행되지 않는다.
  • ③ 오답: 연산 우선순위는 괄호와 연산자 규칙이 정하고 값 할당은 =가 수행한다.
  • ④ 오답: 이유 없는 최상위 들여쓰기는 오류가 될 수 있고 # 뒤는 출력 대상이 아니다.

9. 파이썬 주석에 관한 설명에서 고쳐야 할 오개념은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④

  • ① 오답: #는 한 줄 주석을 시작하므로 고칠 필요가 없는 설명이다.
  • ② 오답: 주석은 코드의 이유와 구조를 남겨 가독성과 유지보수를 돕는다.
  • ③ 오답: 여러 줄 각각에 #를 붙이면 실행하지 않을 설명이라는 의도가 명확하다.
  • ④ 정답: 따옴표 세 개는 문자열 리터럴을 만들며 위치에 따라 문서 문자열이 될 수 있으므로 주석 문법과 같다고 단정하면 안 된다.

10. 실행은 되지만 원뿔 계산 결과가 예상과 다를 때 가장 체계적인 점검 순서는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③

  • ① 오답: 임의 수정은 오류 원인을 좁히지 못하고 계산의 의도를 설명하는 정보까지 없앤다.
  • ② 오답: 최종 출력만 보면 어느 중간 계산에서 뜻이 달라졌는지 찾기 어렵다.
  • ③ 정답: 데이터에서 이름, 표현식, 함수, 코드 구조로 층을 나누면 문법 오류와 논리 오류를 함께 추적할 수 있다.
  • ④ 오답: 문자열은 산술 계산과 타입이 맞지 않을 수 있고 괄호와 들여쓰기를 제거하면 계산과 블록 구조가 달라진다.

참고 자료와 작성 기준

이 글은 해당 차시 강의자료를 바탕으로 학습 목적에 맞게 재구성한 비공식 학습자료입니다. 원뿔 프로그램의 단계별 개선, 연산 우선순위 비교 계산, 값·이름·식·구조의 오류 점검 순서는 학습자가 코드를 직접 읽고 검산하도록 새로 구성했습니다.

  • 작성·편집: 올에이클래스 학습연구팀
  • 주요 근거: 한국방송통신대학교 컴퓨터과학과, 「파이썬프로그래밍기초」 3강 파이썬 시작하기 강의자료, 2026
  • 보충 자료: 외부 자료를 사용하지 않음
  • 편집 원칙: 올에이클래스 편집 정책
  • 최종 내용 검토: 2026-09-07

댓글