106106 "id" : " 597e4425" ,
107107 "metadata" : {},
108108 "source" : [
109- " 정수, 부동소수점과 더불어 \n " ,
110- " `a`, `b`, `c`, ..., \n " ,
111- " `ㄱ`, `ㄴ`, `ㄷ`, ...,\n " ,
112- " `ㅏ`, `ㅑ`, `ㅓ`, `ㅕ`, ..., \n " ,
113- " `가`, `나`, `다`, ..., \n " ,
114- " `0`, `1`, `2`, ..., \n " ,
115- " `!`, `:`, `;`, `_`, `(`, `)`, ... 처럼\n " ,
116- " 컴퓨터 키보드를 이용하여 입력할 수 있는 임의의 문자, 숫자, 기호로 \n " ,
117- " 구성된 문자열도 값이다.\n " ,
118- " 예를 들어, `파이썬 좋아요;-)`, `Hello, World!` 등과 같은 문자열도 값이다."
109+ " `'파이썬 좋아요;-)'`, `\" Hello, World!\" ` 등과 같이\n " ,
110+ " 컴퓨터 키보드를 이용하여 입력할 수 있는 임의의 문자, 숫자, 기호의 조합으로 구성된 값이 문자열이다.\n " ,
111+ " \n " ,
112+ " 모든 문자열을 작은따옴표 또는 큰따옴표로 감싸여야 한다.\n " ,
113+ " 예를 들어, 정수 `17`과 문자열 `'17'`은 서로 다른 종류의 값이며, 따라서 두 값은 서로 동일하지 않다.\n " ,
114+ " 정수 `17`은 더 이상 쪼갤 수 없는 하나의 값인 반면에,\n " ,
115+ " 문자열 `'17'`는 `'1'`과 `'7'` 두 개의 정수 문자를 항목으로 갖는 값이다."
119116 ]
120117 },
121118 {
250247 " 프로그래밍에서 가장 많이 사용되는 연산자는 다음과 같다.\n " ,
251248 " \n " ,
252249 " * 사칙 연산자: `+`, `-`, `*`, `/`\n " ,
253- " * 거듭제곱 연산자: `** `\n " ,
254- " * 비교 연산자: `<`, `>`, ` <=`, `>= `, `= =`"
250+ " * 동치 여부 판단 연산자: `==`, `!= `\n " ,
251+ " * 크기 비교 연산자: `<`, `<=`, `>`, `> =`"
255252 ]
256253 },
257254 {
275272 "source" : [
276273 " 정수와 부동소수점을 이용한 사칙연산의 결과가 새로운 정수 또는 부동소수점이듯이\n " ,
277274 " 모든 연산의 결과 또한 하나의 값<font size='2'>value</font>이다.\n " ,
278- " 프로그래밍의 핵심은 주어진 값을 이용하여 원하는 새로운 값을 생성하는 복잡하고 다양한 방식과 절차를 묘사하는 과정이다.\n " ,
275+ " 프로그래밍의 핵심은 주어진 값을 이용하여 원하는 새로운 값을 생성하는 다양한 방식과 절차를 묘사하는 과정이다.\n " ,
279276 " 여기서는 일반적으로 사용되는 숫자들의 사칙연산과는 다르게 작동하는 기초적이며 매우 중요한 연산 몇 가지를 살펴 본다."
280277 ]
281278 },
282279 {
283280 "cell_type" : " markdown" ,
284- "id" : " cad98de9" ,
285281 "metadata" : {},
286282 "source" : [
287- " ### 비교 연산자"
288- ]
289- },
290- {
291- "cell_type" : " markdown" ,
292- "metadata" : {},
293- "source" : [
294- " 비교 연산은 동치 여부 판단 연산과 크기 비교 연산 두 종류로 나뉜다. \n " ,
295- " 두 종류의 연산에 사용되는 연산자는 다음과 같다.\n " ,
296- " \n " ,
297- " | 동치 여부 판단 연산자 | 크기 비교 연산자 |\n " ,
298- " | :---: | :---: |\n " ,
299- " | `==` | `<` |\n " ,
300- " | `!=` | `<=` |\n " ,
301- " | | `>` |\n " ,
302- " | | `>=` |"
303- ]
304- },
305- {
306- "cell_type" : " markdown" ,
307- "metadata" : {},
308- "source" : [
309- " **동치 여부 판단 연산자**"
283+ " ## 동치 여부 판단 연산자"
310284 ]
311285 },
312286 {
443417 "cell_type" : " markdown" ,
444418 "metadata" : {},
445419 "source" : [
446- " :::{danger } `=` 와 `==` 의 차이\n " ,
420+ " :::{attention } `=` 와 `==` 의 차이\n " ,
447421 " \n " ,
448- " 기호 `=` 는 `z = 1+3`처럼 변수 할당 명령문에 사용된다.\n " ,
422+ " 기호 `=` 는 `z = 1+3`에서처럼 변수 할당 명령문에 사용된다.\n " ,
449423 " 기호 왼편에는 변수가, 오른편에는 변수에 할당되는 값을 표현하는 식이 위치한다.\n " ,
450424 " 따라서 `z = 1+3`를 실행하면 변수 `z`는 4가 할당된다.\n " ,
451425 " \n " ,
459433 "cell_type" : " markdown" ,
460434 "metadata" : {},
461435 "source" : [
462- " ** 크기 비교 연산자** "
436+ " ## 크기 비교 연산자"
463437 ]
464438 },
465439 {
951925 "cell_type" : " markdown" ,
952926 "metadata" : {},
953927 "source" : [
954- " ### 유니코드"
928+ " ## 유니코드"
955929 ]
956930 },
957931 {
11001074 "cell_type" : " markdown" ,
11011075 "metadata" : {},
11021076 "source" : [
1103- " ### 논리식"
1077+ " :::{note} 논리식\n " ,
1078+ " \n " ,
1079+ " 동치 여부를 판단하는 연산과 크기를 비교하는 연산은 그 결과가 언제나 `True` 또는 `False`라는 두 가지 부울값 중 하나로 귀결된다.\n " ,
1080+ " 따라서 이러한 연산을 통해 얻어진 결과는 수학적 계산처럼 수치가 아니라, 논리적 참 또는 거짓을 나타내는 값으로 해석된다. \n " ,
1081+ " \n " ,
1082+ " 이처럼 결과가 부울값으로 나타나는 모든 수식을 우리는 **논리식**<font size='2'>Boolean expression</font>이라 부르며,\n " ,
1083+ " 논리식은 프로그램의 흐름을 제어하거나 조건을 판별하는 데 핵심적인 역할을 한다.\n " ,
1084+ " 논리식은 앞으로 다룰 if 조건문, for 반복문, while 반복문 등에서 판단 기준으로 표현할 때 사용된다.\n " ,
1085+ " :::"
11041086 ]
11051087 },
11061088 {
11071089 "cell_type" : " markdown" ,
11081090 "metadata" : {},
11091091 "source" : [
1110- " 등식, 부등식은 부울값으로 계산된다.\n " ,
1111- " 등식, 부등식처럼 부울값으로 계산되는 수식을 **논리식**이라 부른다.\n "
1092+ " ## 리스트와 문자열 연산"
11121093 ]
11131094 },
11141095 {
11151096 "cell_type" : " markdown" ,
11161097 "metadata" : {},
11171098 "source" : [
1118- " ### `+`와 `*` 연산자"
1099+ " 사칙연산에 사용되는 기호 중에서 연산자 `+`와 `*`는 리스트와 문자열에 적용될 때 특별한 방식으로 동작한다.\n " ,
1100+ " `+`는 두 값을 이어붙이는 연산으로, `*`는 특정 횟수만큼 복제한 뒤 이어붙이는 연산으로 해석된다.\n " ,
1101+ " 이 두 연산자 이외에 리스트와 문자열 고유의 연산 두 종류를 함께 소개한다."
11191102 ]
11201103 },
11211104 {
11221105 "cell_type" : " markdown" ,
1123- "id" : " 8347cd82" ,
11241106 "metadata" : {},
11251107 "source" : [
1126- " **리스트 연산: 이어붙이기와 복제** "
1108+ " ### 이어붙이기 "
11271109 ]
11281110 },
11291111 {
11301112 "cell_type" : " markdown" ,
1131- "id" : " 5986d727" ,
11321113 "metadata" : {},
11331114 "source" : [
1134- " `+`, `*` 등이 문자열, 리스트 등에 대해서도 특별한 방식으로 활용된다. \n " ,
1135- " 설명을 위해 아래 두 리스트를 이용한다 ."
1115+ " 먼저, 리스트에 대한 연산 결과를 확인하기 위해 다음과 같이 리스트를 \n " ,
1116+ " 가리키는 변수 `first_languages`와 `second_languages`를 정의한다 ."
11361117 ]
11371118 },
11381119 {
11391120 "cell_type" : " code" ,
1140- "execution_count" : 13 ,
1121+ "execution_count" : 50 ,
11411122 "id" : " 3a084698" ,
11421123 "metadata" : {},
11431124 "outputs" : [],
11511132 "id" : " d80e65d5" ,
11521133 "metadata" : {},
11531134 "source" : [
1154- " - 리스트와 `+` 연산자: 두 개의 리스트를 이어붙여 하나의 리스트로 계산 "
1135+ " 아래 코드는 `first_languages`와 `second_languages`가 가리키는 문자열에 대해 `+` 연산의 결과는 "
11551136 ]
11561137 },
11571138 {
@@ -1178,114 +1159,155 @@
11781159 },
11791160 {
11801161 "cell_type" : " markdown" ,
1181- "id" : " c694e520" ,
11821162 "metadata" : {},
11831163 "source" : [
1184- " - 리스트와 `*` 연산자: 주어진 리스트를 지정된 정수만큼 복제해서 이어붙인 리스트로 계산 "
1164+ " 변수를 이용하지 않고 두 리스트를 바로 더해도 동일한 리스트가 계산결과로 생성된다. "
11851165 ]
11861166 },
11871167 {
11881168 "cell_type" : " code" ,
1189- "execution_count" : 15 ,
1190- "id" : " d510931d" ,
1169+ "execution_count" : 45 ,
11911170 "metadata" : {},
11921171 "outputs" : [
11931172 {
11941173 "data" : {
11951174 "text/plain" : [
1196- " ['파이썬',\n " ,
1197- " 'C',\n " ,
1198- " '자바',\n " ,
1199- " 'C++',\n " ,
1200- " 'C#',\n " ,
1201- " '자바스크립트',\n " ,
1202- " 'Node.js',\n " ,
1203- " '파이썬',\n " ,
1204- " 'C',\n " ,
1205- " '자바',\n " ,
1206- " 'C++',\n " ,
1207- " 'C#',\n " ,
1208- " '자바스크립트',\n " ,
1209- " 'Node.js']"
1175+ " ['파이썬', 'C', '자바', 'C++', 'C#', '자바스크립트', 'Node.js']"
12101176 ]
12111177 },
1212- "execution_count" : 15 ,
1178+ "execution_count" : 45 ,
12131179 "metadata" : {},
12141180 "output_type" : " execute_result"
12151181 }
12161182 ],
12171183 "source" : [
1218- " languages * 2 "
1184+ " ['파이썬', 'C', '자바'] + ['C++', 'C#', '자바스크립트', 'Node.js'] "
12191185 ]
12201186 },
12211187 {
12221188 "cell_type" : " markdown" ,
1223- "id" : " a019dc1d" ,
12241189 "metadata" : {},
12251190 "source" : [
1226- " **문자열 연산: 이어붙이기와 복제**"
1191+ " 문자열에 대해서도 유사하게 작동한다.\n " ,
1192+ " 아래 코드를 실행하면 `'파이썬, '`과 `'안녕'` 두 문자열을 이어붙이는 연산 결과가 보여진다."
1193+ ]
1194+ },
1195+ {
1196+ "cell_type" : " code" ,
1197+ "execution_count" : 48 ,
1198+ "metadata" : {},
1199+ "outputs" : [
1200+ {
1201+ "data" : {
1202+ "text/plain" : [
1203+ " '파이썬, 안녕'"
1204+ ]
1205+ },
1206+ "execution_count" : 48 ,
1207+ "metadata" : {},
1208+ "output_type" : " execute_result"
1209+ }
1210+ ],
1211+ "source" : [
1212+ " '파이썬, ' + '안녕'"
12271213 ]
12281214 },
12291215 {
12301216 "cell_type" : " markdown" ,
1231- "id" : " c458f718" ,
12321217 "metadata" : {},
12331218 "source" : [
1234- " 문자열에 대해서도 유사한 방식으로 `+`, `*` 연산자가 기능한다 ."
1219+ " 아래 코드는 변수를 활용한 동일한 연산을 보여준다 ."
12351220 ]
12361221 },
12371222 {
12381223 "cell_type" : " code" ,
1239- "execution_count" : 16 ,
1240- "id" : " 685779ef" ,
1224+ "execution_count" : 46 ,
12411225 "metadata" : {},
1242- "outputs" : [],
1226+ "outputs" : [
1227+ {
1228+ "data" : {
1229+ "text/plain" : [
1230+ " '파이썬, 안녕!'"
1231+ ]
1232+ },
1233+ "execution_count" : 46 ,
1234+ "metadata" : {},
1235+ "output_type" : " execute_result"
1236+ }
1237+ ],
12431238 "source" : [
12441239 " first = '파이썬, '\n " ,
1245- " second = '안녕!'"
1240+ " second = '안녕!'\n " ,
1241+ " greetings = first + second\n " ,
1242+ " greetings"
1243+ ]
1244+ },
1245+ {
1246+ "cell_type" : " markdown" ,
1247+ "metadata" : {},
1248+ "source" : [
1249+ " :::{attention} 주의사항\n " ,
1250+ " \n " ,
1251+ " 문자열 `파이썬, `에 쉼표 기호 `','`와 공백 문자 `' '`가 포함되어 있음에 주의한다.\n " ,
1252+ " 키보드 스페이스 바를 누르면 보이지 않는 공백이 바로 공백 문자이다.\n " ,
1253+ " 따라서 `'파이썬, ' + '안녕'`의 연산 결과인 `'파이썬, 안녕'`에 포함된 공백은 \n " ,
1254+ " 없던 게 추가된 것이 아니라 `'파이썬, '`에 원래 포함되어 있던 문자다.\n " ,
1255+ " :::"
1256+ ]
1257+ },
1258+ {
1259+ "cell_type" : " markdown" ,
1260+ "id" : " c694e520" ,
1261+ "metadata" : {},
1262+ "source" : [
1263+ " ### 복제 후 이어붙이기"
12461264 ]
12471265 },
12481266 {
12491267 "cell_type" : " markdown" ,
1250- "id" : " 6da79fde" ,
12511268 "metadata" : {},
12521269 "source" : [
1253- " - 문자열과 `+` 연산자: 두 개의 문자열을 그대로 이어붙인 문자열로 계산"
1270+ " 리스트 또는 문자열을 정수와의 곱셈 형식으로 연산을 실행하면\n " ,
1271+ " 주어진 리스트 또는 문자열을 지정된 정수만큼 복제해서 이어분인 리스트 또는 문자열로 계산한다.\n " ,
1272+ " \n " ,
1273+ " 예를 들어, 아래 코드는 3개의 항목을 갖는 리스트를 가리키는 `first_languages` 변수와 2에 대해 `*` 연산자를 적용한 결과를 보여준다.\n " ,
1274+ " 연산 결과는 `first_languges` 변수가 가리키는 리스트 `['파이썬'`, `'C'`, `'자바']`를 두 번 복제해서 이어붙인, 길이가 6인 리스트이다."
12541275 ]
12551276 },
12561277 {
12571278 "cell_type" : " code" ,
1258- "execution_count" : 17 ,
1259- "id" : " bc706255 " ,
1279+ "execution_count" : 51 ,
1280+ "id" : " d510931d " ,
12601281 "metadata" : {},
12611282 "outputs" : [
12621283 {
12631284 "data" : {
12641285 "text/plain" : [
1265- " '파이썬, 안녕!' "
1286+ " [ '파이썬', 'C', '자바', '파이썬', 'C', '자바'] "
12661287 ]
12671288 },
1268- "execution_count" : 17 ,
1289+ "execution_count" : 51 ,
12691290 "metadata" : {},
12701291 "output_type" : " execute_result"
12711292 }
12721293 ],
12731294 "source" : [
1274- " greetings = first + second\n " ,
1275- " greetings"
1295+ " first_languages * 2"
12761296 ]
12771297 },
12781298 {
12791299 "cell_type" : " markdown" ,
12801300 "id" : " af6476bf" ,
12811301 "metadata" : {},
12821302 "source" : [
1283- " - 문자열과 `*` 연산자: 주어진 문자열을 지정된 정수만큼 복제해서 이어붙인 문자열로 계산"
1303+ " 문자열에 대한 `*` 연산자의 기능도 유사하다.\n " ,
1304+ " 즉, 주어진 문자열을 지정된 정수만큼 복제해서 이어붙인 문자열을 계산한다.\n " ,
1305+ " 아래 코드는 `greetings` 변수가 가리키는 문자열 `'파이썬, 안녕!`을 세 번 복제해서 단순히 이어붙인 문자열을 계산한다."
12841306 ]
12851307 },
12861308 {
12871309 "cell_type" : " code" ,
1288- "execution_count" : 18 ,
1310+ "execution_count" : 53 ,
12891311 "id" : " 03a62f7a" ,
12901312 "metadata" : {},
12911313 "outputs" : [
12951317 " '파이썬, 안녕!파이썬, 안녕!파이썬, 안녕!'"
12961318 ]
12971319 },
1298- "execution_count" : 18 ,
1320+ "execution_count" : 53 ,
12991321 "metadata" : {},
13001322 "output_type" : " execute_result"
13011323 }
0 commit comments