Skip to content

Commit 04669f7

Browse files
committed
Update strings-part1.ipynb
1 parent 0b00875 commit 04669f7

1 file changed

Lines changed: 41 additions & 85 deletions

File tree

strings-part1.ipynb

Lines changed: 41 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
},
5555
{
5656
"cell_type": "code",
57-
"execution_count": 53,
57+
"execution_count": 2,
5858
"id": "6e9beb3f-f2f8-40b1-8ef9-b35793c981bf",
5959
"metadata": {},
6060
"outputs": [
@@ -80,12 +80,12 @@
8080
"metadata": {},
8181
"source": [
8282
"빈 문자열을 출력하면 화면에는 아무것도 보이지 않는다.\n",
83-
"하지만 값이 없는 것이 아니라, 길이가 0인 문자열 값이다."
83+
"하지만 보이지 않을 뿐이며, 길이가 0인 문자열 값이다."
8484
]
8585
},
8686
{
8787
"cell_type": "code",
88-
"execution_count": 54,
88+
"execution_count": 3,
8989
"id": "9b80665f-b75f-42aa-8b4e-47b7f3daff2f",
9090
"metadata": {},
9191
"outputs": [
@@ -109,12 +109,12 @@
109109
"metadata": {},
110110
"source": [
111111
"반면에 `' '`는 공백 문자 하나를 포함한 문자열이다.\n",
112-
"눈에 보이지 않지만 길이는 1이다."
112+
"역시 눈에 보이지 않지만 길이가 1인 문자열 값이다."
113113
]
114114
},
115115
{
116116
"cell_type": "code",
117-
"execution_count": 59,
117+
"execution_count": 4,
118118
"id": "a4275bda-9aa6-47d6-ae2d-f41168f65fe4",
119119
"metadata": {},
120120
"outputs": [
@@ -139,7 +139,7 @@
139139
":::{note} 한 글자 문자열\n",
140140
"\n",
141141
"C, 자바 같은 언어는 문자 하나를 저장하는 `char` 자료형을 별도로 제공한다.\n",
142-
"파이썬에는 별도의 문자 자료형이 없으며, 문자 하나도 길이가 1인 문자열로 다룬다.\n",
142+
"파이썬에는 별도의 문자 자료형이 없으며, 문자 하나로 구성된 길이가 1인 문자열로 다룬다.\n",
143143
"::: "
144144
]
145145
},
@@ -213,14 +213,14 @@
213213
"id": "7f4efc84-66c6-42a9-a5a7-c9aff730b646",
214214
"metadata": {},
215215
"source": [
216-
"**문제 2**\n",
216+
"**문제 1**\n",
217217
"\n",
218218
"아래 코드가 `False`를 출력하는 이유를 설명하라."
219219
]
220220
},
221221
{
222222
"cell_type": "code",
223-
"execution_count": 61,
223+
"execution_count": 5,
224224
"id": "ca85ff41-3377-4289-aa39-318e4896b19f",
225225
"metadata": {},
226226
"outputs": [
@@ -282,12 +282,12 @@
282282
"id": "a912aa5b",
283283
"metadata": {},
284284
"source": [
285-
"다음 세 문자열의 출력 결과를 설명할 수 있어야 한다."
285+
"다음 세 개의 문자열엔 각각 공백, 탭, 줄바꿈 화이트 스페이스가 포함되어 있어서 출력 결과가 서로 많이 다르다."
286286
]
287287
},
288288
{
289289
"cell_type": "code",
290-
"execution_count": 2,
290+
"execution_count": 6,
291291
"id": "ad6b063b-9934-44b4-ba78-e5ca43a42ca8",
292292
"metadata": {},
293293
"outputs": [
@@ -313,13 +313,13 @@
313313
"id": "52fecec7-9b20-4386-8dab-3161a3c4dce7",
314314
"metadata": {},
315315
"source": [
316-
"화이트 스페이스도 문자열에 포함된 하나의 문자로 계산된다.\n",
316+
"화이트 스페이스는 모두 한 개의 문자로 취급된다.\n",
317317
"따라서 위 세 문자열의 길이 모두 3이다. "
318318
]
319319
},
320320
{
321321
"cell_type": "code",
322-
"execution_count": 3,
322+
"execution_count": 7,
323323
"id": "5a6fb4b0-6818-4495-a612-d8c8b477adf5",
324324
"metadata": {},
325325
"outputs": [
@@ -359,7 +359,7 @@
359359
},
360360
{
361361
"cell_type": "code",
362-
"execution_count": null,
362+
"execution_count": 8,
363363
"id": "b576662a",
364364
"metadata": {},
365365
"outputs": [
@@ -405,7 +405,7 @@
405405
},
406406
{
407407
"cell_type": "code",
408-
"execution_count": null,
408+
"execution_count": 9,
409409
"id": "10e0d0ae",
410410
"metadata": {},
411411
"outputs": [
@@ -415,8 +415,9 @@
415415
"13"
416416
]
417417
},
418+
"execution_count": 9,
418419
"metadata": {},
419-
"output_type": "display_data"
420+
"output_type": "execute_result"
420421
}
421422
],
422423
"source": [
@@ -449,8 +450,8 @@
449450
"`print()` 함수에 의해 다음과 같이 두 줄로 출력되는 하나의 문자열을 정의하라.\n",
450451
"\n",
451452
"```python\n",
452-
"이름 점수\n",
453-
"민준 90\n",
453+
"Name Score\n",
454+
"Minjun 90\n",
454455
"```"
455456
]
456457
},
@@ -467,26 +468,27 @@
467468
"id": "6068c118",
468469
"metadata": {},
469470
"source": [
470-
"탭과 줄바꿈 화이트 스페이스를 적절히 이용한다."
471+
"출력 모양을 정확히 맞추기 위해 공백과 줄바꿈 화이트 스페이스를 적절히 이용한다.\n",
472+
"탭(`\\t`)은 무조건 4칸을 띄우는 것이 아니라 출력 환경에 따라 보이는 간격을 적절히 조절한다."
471473
]
472474
},
473475
{
474476
"cell_type": "code",
475-
"execution_count": 4,
477+
"execution_count": 14,
476478
"id": "c983e4b2-a6d2-46be-b488-5d7189f45f3b",
477479
"metadata": {},
478480
"outputs": [
479481
{
480482
"name": "stdout",
481483
"output_type": "stream",
482484
"text": [
483-
"이름\t점수\n",
484-
"민준\t90\n"
485+
"Name\tScore\n",
486+
"Minjun\t90\n"
485487
]
486488
}
487489
],
488490
"source": [
489-
"print(\"이름\\t점수\\n민준\\t90\")"
491+
"print(\"Name\\tScore\\nMinjun\\t90\")"
490492
]
491493
},
492494
{
@@ -542,59 +544,12 @@
542544
"`\\n`은 줄바꿈 문자다. 따라서 첫 줄에 `Hello`, 둘째 줄에 `World`가 출력된다."
543545
]
544546
},
545-
{
546-
"cell_type": "markdown",
547-
"id": "4ce06b6f-4721-49c7-9021-18f6153a111c",
548-
"metadata": {},
549-
"source": [
550-
"**문제 2**\n",
551-
"\n",
552-
"아래 문자열의 길이가 얼마인지 설명하라."
553-
]
554-
},
555-
{
556-
"cell_type": "code",
557-
"execution_count": 74,
558-
"id": "b26c99c7-25c9-4d8e-8ef7-fd538b692c1e",
559-
"metadata": {},
560-
"outputs": [
561-
{
562-
"data": {
563-
"text/plain": [
564-
"6"
565-
]
566-
},
567-
"execution_count": 74,
568-
"metadata": {},
569-
"output_type": "execute_result"
570-
}
571-
],
572-
"source": [
573-
"len(\"A B\\tC\\n\")"
574-
]
575-
},
576-
{
577-
"cell_type": "markdown",
578-
"id": "793e62b8-bb38-4eff-b79e-a0a67f9186f9",
579-
"metadata": {},
580-
"source": [
581-
"답:"
582-
]
583-
},
584-
{
585-
"cell_type": "markdown",
586-
"id": "5c7e4b6c-33b4-4567-a15f-f5a590a36503",
587-
"metadata": {},
588-
"source": [
589-
"결과는 6이다. `A`, 공백 문자, `B`, 탭, `C`, 줄바꿈이 각각 한 글자로 계산된다."
590-
]
591-
},
592547
{
593548
"cell_type": "markdown",
594549
"id": "3d152b65",
595550
"metadata": {},
596551
"source": [
597-
"**문제 3**\n",
552+
"**문제 2**\n",
598553
"\n",
599554
"아래 코드의 실행 결과를 설명하라."
600555
]
@@ -634,7 +589,7 @@
634589
"metadata": {},
635590
"source": [
636591
"사용된 세 개의 모든 화이트스페이스 문자의 길이는 1이다.\n",
637-
"문자열 `' \\t\\n'`의 길이는 3인데 이 문자열을 10번 복제해서 이어붙인 결과의 문자열은 따라서 30이다."
592+
"문자열 `' \\t\\n'`의 길이는 3이며, 따라서 이 문자열을 10번 복제해서 이어붙인 결과의 문자열의 길이는 30이다."
638593
]
639594
},
640595
{
@@ -650,7 +605,7 @@
650605
"id": "dbd04468-64d9-43e8-9196-235d824cef5a",
651606
"metadata": {},
652607
"source": [
653-
"문자열에 따옴표, 백슬래시, 줄바꿈처럼 특별한 의미를 갖는 문자를 포함시키려면\n",
608+
"문자열에 따옴표, 백슬래시, 화이트 스페이스처럼 특별한 의미를 갖는 문자를 포함시키려면\n",
654609
"백슬래시(`\\`)로 시작하는 **이스케이프 시퀀스**<font size=\"2\">escape sequence</font>를 사용한다.\n",
655610
"\n",
656611
"| 표기 | 문자열에 들어가는 문자 |\n",
@@ -675,12 +630,12 @@
675630
"id": "75bcfe0c-a190-4ba8-bb33-4c36489da217",
676631
"metadata": {},
677632
"source": [
678-
"예를 들어 문자열을 감싼 따옴표와 같은 따옴표를 문자열 안에 넣을 때는 이스케이프 시퀀스가 필요하다."
633+
"문자열을 감싸는 따옴표와 동일한 따옴표를 문자열 안에 넣을 때는 이스케이프 시퀀스가 필요하다."
679634
]
680635
},
681636
{
682637
"cell_type": "code",
683-
"execution_count": 75,
638+
"execution_count": 15,
684639
"id": "6964ef7b-8328-4d10-af97-8febcbb9df4b",
685640
"metadata": {},
686641
"outputs": [
@@ -706,9 +661,8 @@
706661
"id": "b0db0602-d324-4f14-8897-e2c8cadbb8ce",
707662
"metadata": {},
708663
"source": [
709-
"이스케이프 시퀀스를 사용하지 않으면 문제가 발생할 수 있다.\n",
710-
"예를 들어 문자열을 감싼 따옴표와 동일한 따옴표를 문자열 안에 사용하면 `SyntaxError` 오류가 발생한다.\n",
711-
"이유는 문자열의 시작과 끝이 명확하게 정할 수 없어지기 때문이다."
664+
"이스케이프 시퀀스를 사용하지 않으면 `SyntaxError` 오류가 발생한다.\n",
665+
"이유는 문자열의 시작과 끝이 명확하지 않게 되기 때문이다."
712666
]
713667
},
714668
{
@@ -737,12 +691,13 @@
737691
"id": "692dadd1",
738692
"metadata": {},
739693
"source": [
740-
"반면에 감싸는 따옴표를 문자열 내부에 사용된 따옴표와 다르면 이스케이프 시퀀스를 사용하지 않아도 오류가 발생하지 않는다."
694+
"반면에 감싸는 따옴표를 문자열 내부에 사용된 따옴표와 다르게 하면\n",
695+
"이스케이프 시퀀스를 사용하지 않아도 오류가 발생하지 않는다."
741696
]
742697
},
743698
{
744699
"cell_type": "code",
745-
"execution_count": 7,
700+
"execution_count": 16,
746701
"id": "1cc38e8d",
747702
"metadata": {},
748703
"outputs": [
@@ -823,7 +778,7 @@
823778
"source": [
824779
"**예제 1**\n",
825780
"\n",
826-
"아래 문자열이 화면에 출력되도록 문자열을 작성하라.\n",
781+
"아래 문자열이 화면에 출력되도록 이스케이프 시퀀스를 사용하는 문자열을 작성하라.\n",
827782
"\n",
828783
"```python\n",
829784
"그는 \"Python\"을 좋아한다.\n",
@@ -869,12 +824,12 @@
869824
"id": "648413df",
870825
"metadata": {},
871826
"source": [
872-
"문자열 전체를 작은따옴표로 감싸도 된다."
827+
"작은따옴표로 감싸도 된다."
873828
]
874829
},
875830
{
876831
"cell_type": "code",
877-
"execution_count": null,
832+
"execution_count": 17,
878833
"id": "fa0ed992",
879834
"metadata": {},
880835
"outputs": [
@@ -887,7 +842,7 @@
887842
}
888843
],
889844
"source": [
890-
"print('그는 \"Python\"을 좋아한다.')"
845+
"print('그는 \\\"Python\\\"을 좋아한다.')"
891846
]
892847
},
893848
{
@@ -932,11 +887,12 @@
932887
"id": "9ef3d676",
933888
"metadata": {},
934889
"source": [
935-
" 종류의 화이트 스페이스가 사용되었음. \n",
890+
" 종류의 이스케이프 시퀀스가 사용되었다.\n",
936891
"\n",
937-
"- `' '`: 공백\n",
938892
"- `'\\t'`: 탭\n",
893+
"- `' '`: 공백\n",
939894
"- `'\\n'`: 줄바꿈\n",
895+
"- `\\\\`: 백슬래시 기호\n",
940896
"\n",
941897
"문자열이 먼저 탭(스페이스 4칸)으로 시작하고 이후에 Hello World를 출력한 다음 줄바꿈을 진행한다.\n",
942898
"줄이 바뀐 후 백슬래시(원화) 기호가 이스케이프된 상태로 출력된다."

0 commit comments

Comments
 (0)