alt

Python 기초: 문자열, 반복문, 타입 변환

Shared on October 12, 2026

05:33:24

지난 시간에 이어서 이제 파이썬 프로그래밍 좀 더 많은 내용들을 이어서 살펴보도록 하겠습니다. 네 그래서 오늘 전체적으로 배울 내용은 크게 4가지 주제가 됩니다. 첫번째는 string 이라고 하는 object, type, string type에 대해서 설명을 드릴 거고요. 그 다음에 룩 스테치만 치라고 해서

05:33:58

이제 반복문. 그래서 우리가 측정한 명령어를 여러 번 반복을 할 수가 있는데 그런 것들을 손으로 일일이 하는 것이 아니라 어떤 프로그램을 짜면 어떤 명령어를 입력하면은 측정 명령어를 반복하면서 실행을 합니다. 그래서 그렇게 하는 Brute Statements에 대해서 설명을 드릴 거고 그 다음에 Print와 Input. 프린트는 많이 보셨었죠

05:34:30

우리가 처음 할 때 어떤 값을 뽑고 싶으면 이런 식으로 여기에 보이는 프린트랑 이것을 썩고 그 다음에 input라고 하는 이 입력 우리가 프로그램에 숫자를 입력할 수 있게 해주는 명령어가 있습니다. 그 다음에 마지막으로는 간단한 프로그램 example를 보면서 실제로 코드를 좀 짜보도록 하겠습니다. 그래서 시간이 좀 남는다고 하면 이 프로그램을 같이 짜볼 거고요. 시간이 좀 부족하다 싶으면

05:35:05

집에서 직접 해보셔도 충분히 할 수 있을 거라 생각을 합니다. 먼저 오늘 첫 번째로 설명을 드렸던 스트링 타입에 대해서 설명을 드리도록 하겠습니다. 그래서 스트링 타입 같은 경우에는 여러분들이 이해하기 쉽게 설명을 드리면 그냥 문자의 열입니다. 우리가 실제로 노츠의 글자를 쓰면 그 글자들이 다

05:35:38

보이는 스트링 타입이라고 보시면 됩니다. 그래서 이 스트링 오브젝트 같은 경우에는 작은 따옴표 세트 그 다음에 큰 따옴표 세트로 이렇게 작성을 할 수가 있고요. 네 그러면 이렇게 abc 작은 따옴표로 묶거나 아니면 abc 큰 따옴표로 묶거나 그 다음에 뭐 1,2,3 숫자를 이렇게 1,2,3으로 하면은 이제 작은 따옴표로 묶든 큰 따옴표를 묶든 이것이 이제

05:36:17

그... 넣어가 되구요. 그 string 타입이 되는 거구요. 만약에 우리가 이런 작은 따옴표나 큰 따옴표를 넣어주지 않으면은 이것은 숫자 타입이 됩니다. 그래서 여기 보시는 것처럼 우리가 print aristoteles 치면은 이 aristoteles라는 글자가 문자열이 그대로 나오는 거구요. 그 다음에 isan-muten 하면은 isan-muten 그 다음에 우리가 숫자를 이렇게 표현을 할 수가 있죠. 숫자를

05:36:51

이 오브젝트 숫자를 string으로 표현을 할 수가 있고 숫자를 정수값으로 표현을 할 수가 있습니다 그래서 우리가 type 1, 2, 3을 이렇게 식으로 하면은 이거는 string object가 string 타입으로 나오는 거고 이것은 이제 인치적 정수값이 나온다 라는 것입니다 그리고 우리가 문자열의 이러한

05:37:25

다운표나 자금다운표를 넣고 싶은 경우가 있을 수가 있죠. 그럴 때는 우리가 서서서 이런 백슬레시를 넣어 주면 됩니다. 이거는 좀 함께 살펴보도로 칭이 씁니다. 참 시.

05:38:08

여기 보이는 것 처럼...a yu...

05:38:25

여기 보이는 것처럼 예를 들어서 제가 print imaboy 이게 좀 화면이 작기는 한데 이거를 키울 수 있는 방법이 따로 없는 것 같네요 그래서 여기 이제 imaboy라고 치고 이것을 실행을 하면은 여기서 imaboy라고 나옵니다 근데 우리가 이걸 줄여서 imaboy 이런 식으로 하고 싶어요

05:39:00

이런 식으로 우리가 가운데 작은 따옴표를 넣어주면 아, 지금은 이게 아 예를 들어서 I am a boy 이런 식으로 작은 따옴표로 스트링을 만들어서 작은 따옴표로 할 경우에는 이런 식으로 잘 나오는데 예를 들어서 제가 여기서 I am a boy 하고 싶어서 이런 식으로 하면 이것이 에러가 나는 것을 볼 수가 있습니다 왜 에러가 나냐면 여기서 우리가 스트링 오브젝트를 만들 때는 반드시 이 따옴표의 쌍을 항상 맞춰줘야 됩니다

05:39:45

그러다 보니까 여기서 i라는 것이 처음에 들어갔고 그 옆에 i 오른쪽에 이런 작은 따옴표가 있기 때문에 처음 시작하는 따옴표랑 이거랑 세트가 돼서 i라는 스트링 개체가 하나 생기고 뒤에서는 이것들이 생기지 않기 때문에 뒤에 있는 이 따옴표랑은 어떤 세트를 만들지 않기 때문에 오류가 납니다 그래서 이것을 해결할 수 있는 방법 두 가지가 있는데요 첫 번째는 이 스트링을 만들 때 큰 따옴표로 스트링을 만드는 겁니다 그러면 큰 따옴표로 스트링을 만들면

05:40:27

처음 큰 따옴표와 작은 따옴표가 쌍이 되면서 안에 있는 것들이 다 문자열로 처리가 되고 그래서 문자열 안에 작은 따옴표가 있어도 얘는 이제 스트링으로 처리가 됩니다 그런 식으로 처리가 되고요 두 번째 방법은 제가 그러고 싶을 수도 있죠 작은 따옴표를 무조건 쓰고 싶은데 이제 아래는 이런 식으로 또 넣고 싶다 그러면은 지난 시간에 설명드렸던 백슬래시를 넣어주시면 됩니다

05:41:05

그래서 이렇게 백슬래시를 넣어주면은 이것을 문자열로 인식을 해서 영상이 되구요 그래서 이런 식으로 넣어주게 되면은 문제없이 실행이 되는걸 확인할 수가 있습니다 그래서 그거를 이제 슬라이드로 돌아가서 다시 설명을 드리면은 여기 보이는 것처럼 여기 보이는 것처럼 우리가 이런식으로 문장을 쓸 수가 있다 그래서

05:41:39

큰 따옴표로 묶을 경우에는 안에 작은 따옴표가 있어도 그것들은 문자율로 처리가 된다. 그냥 처리가 되는 거고 그 다음에 이런 식으로 작은 따옴표로 시작을 하고 안에 이걸 묶어서 넣을 수가 있다. 근데 만약에 이 뭐냐 우리가 작은 따옴표로 실행을 하고 싶으면 이런 식으로 작은 따옴표를 안에 또 넣고 싶으면은 백슬래시를 추가를 해주면 그것을 인정할 수가 그것을 문자율로 인정을 할 수가 있다.

05:42:20

그래서 한번 직접 집에 가서 오늘 끝나고 조교 분들도 남아 있을 테니까 그것들을 한번 실습해보면 좋을 것 같습니다. 그리고 우리가 이제 스트링을 선언을 하게 되면은 이제 메모리에 이런 식으로 실리게 됩니다. 여기서는 이런 식으로 메모리 이거는 지금 비정공자분들이시면은 그렇게 깊이 이해하실 필요는 없고 우리가 어쨌든 어떤

05:42:55

변수를 선언을 하거나 어떤 오브젝트를 만들면 그것이 메모리에 실린다. 메모리는 이런 식으로 네모 격자로 여러 칸이 나눠져 있고 각 칸에 그 각들을 넣는다 정도만 이해를 하고 계시면 됩니다. 그래서 간단히 설명을 드리면 우리가 어떤 오브젝트를 선언을 하게 되면 그 오브젝트들은 컴퓨터의 램 이런 곳에 메모리에 실리게 되고요. 그러면은 그 메모리를 이렇게

05:43:27

그 다음에 각 방에 각 하나의 칸에 하나의 변수들이 실리게 된다 이것만 이해를 해주시면 됩니다 그래서 예를 들어서 우리가 high하고 느낌표 라는 것이 선언을 하게 되면은 S 변수를 high라는 string 오브젝트를 선언을 했죠 그것은 high라고 하는 string 오브젝트를 선언을 하고 그것의 이름을 S라고 정의를 합니다 그러면은 S에 주의해서

05:44:03

주소는 여기가 나오게 됩니다. h의 첫 번째 주소가 되게 되고요. 그 다음에 i는 s라는 오브젝트는 s로 cc를 할 수 있고 그러면 각각의 문자열에 우리가 접근을 할 수가 있습니다. 그래서 s의 첫 번째 s의 0번째는 h s의 i 첫 번째는 i s의 두 번째는 느낌표를 가리키게 됩니다.

05:44:36

그리고 실제로 우리가 이렇게 문자를 선언을 하게 되면 실제 이런 h, i, 느낌표 값이 그대로 저장이 되는 게 아니라 그것이 ASCII 코드라고 하는 어떤 숫자로 변환이 돼서 저장이 됩니다. 그리고 이것을 내부적으로 변환을 통해서 우리가 컴퓨터 화면에서 h라는 글자로 볼 수 있게 되는 거고요. 그래서 앞에 h, i, 느낌표

05:45:10

이 표 절대 외우거나 그럴 수 필요 없습니다 그냥 보시면 되고요 이런 것이 있다 h라는 것은 숫자 72로 표현을 한다 i라는 것은 73으로 표현을 한다 그 다음에 느낌표 느낌표가 어디 있니? 느낌표가 몇 번이었을까요? 33이면은 여기 있죠 그래서 high 라고 하는 거는

05:45:44

72, 73, 34 숫자로 저장이 된다. 그리고 72, 73, 33 으로 저장이 되고 그래서 이것을 내부적으로 변환을 해서 우리가 high hi 느낌표라는 문자열을 볼 수 있게 된다. 이 개념입니다. 그래서 이것이 이제 되겠구요. 그 다음에 escape 명령어가 있습니다. 그래서 escape 명령어가 뭐냐면 아까 앞서 설명드렸던 것처럼 뭔가 문자열을 우리가 조작을 하는

05:46:26

어떤 특수한 목적에 맞춰서 이 문자역을 편집할 수 있는 그래서 파이썬 안에는 몇 가지의 문자들은 이제 어떠한 특수 목적으로 예약이 되어 있다 그래서 어떠한 특수 목적으로 사용을 할 수 있다 라는 거고요 그래서 이 백슬래시가 그 escape 명령어를 실행을 할 수 있도록 해준다 그래서 보시면은 아까 말씀드렸던 것처럼 작은 따옴표를 넣고 싶으면 이런 백슬래시 작은 따옴표

05:47:02

그 다음에 큰 따옴표는 backslash 2개 그 다음에 이것도 backslash 라고 하는데 이건 2개 그 다음에 tab 하는 거는 t, backslash t 그 다음 새로운 라인은 backslash n 그 다음에 carriage returning 이거는 그 gl 값을 이제 return 하는 건데 이거는 실제로 한번 하면서 설명을 드리도록 하겠습니다

05:48:48

이런 식으로 여러 개의 예시를 제가 작성을 해 보았고요 그래서 abc라는 문자열 안에다가 다양한 백슬래시 명령어들을 escape 명령어를 추가를 해 본 겁니다 그래서 이거를 실행을 하면은 이제 백슬래시 작은 따옴표 하면은 여기 보시는 것처럼 작은 따옴표가 안에 넣어지게 되고요 그 다음에 백슬래시를 큰 따옴표로 하면 큰 따옴표도 이렇게 나오게 됩니다 그 다음에 이것도 입력하고 싶으면은 이제 이런 식으로

05:49:24

나오게 되고요. 그 다음에 이제 탭 같은 경우에는 여러분들 탭 명령어 알죠? 뭐 워드 하거나 뭐 흥컴 이나 뭐 문서 작성할 때 키보드에 있는 탭을 누르면은 아마 스페이스바가 8개인가 끼워질 겁니다. 그래서 그것처럼 A 하고 이런 식으로 탭 명령어를 치면은 둘 사이에 공간이 8개가 나올 겁니다. 8개인지 정확히는 모르겠지만 어쨌든 끼워져서 나온다. 탭 한 만큼 나온다. 그 다음에 N 같은 경우에는 New Line이라고 했죠.

05:50:02

그래서 새로운 line 그래서 a 그 다음에 새로운 줄 bc 그러니까 엔터키를 친다고 문자열 안에서 엔터키를 친다고 생각하면 됩니다 그래서 a bc 이런식으로 되고요 그 다음에 이거 같은 경우에는 뒤에 다 나오는 걸로 알고 있는데 a 앞에는 안 나오고 이런식으로 나온 걸로 할 수가 있습니다

05:50:37

이런 식으로, 이, 뒤에, 거,는 다, 지운, 다, 이런 거. 이거는, 나중에, 여러분, 프로그래밍, 자, 나, 보면은 그런 경우가 있습니다. 아, 참, 참, 참.

05:50:55

여러분들이 나중에 프로그래밍 짜다 보면은 그런 것도 있습니다 예를 들어서 뭐 이렇게 진행률 표시하는 거 있다가 앞에 나왔던 문자율을 다 지울 때 그럴 때 이제 이러한 r명령, return, carriage return 명령어를 쓰면은 그거를 좀 이쁘게 이렇게 100% 간 다음에 다음 0%부터 다시 할 때 뭐 이런 식으로 사용이 되는데요

05:51:31

차차 나중에 알아가시면 될 것 같고요. 이런 식으로 다양하게 활용을 할 수 있다. 그래서 이것들 잘 알아주시고요. 이어서 더 설명을 드리도록 하겠습니다. 그래서 우리가 이런 식으로 오브젝트는 non-scolored 오브젝트다. 기존에 설명을 했었죠. 이 스트레인 같은 경우에는 다양한 스트레인 오브젝트로 나눌 수가 있다. 그래서 이제 뭐 catch and dog 이렇게 쉬워하면은 cat 그 다음에 띄어쓰기 그 다음 end 띄어쓰기 dog가 다 문자에 저장됩니다.

05:52:19

그것이 아까 설명드렸던 것처럼 메모리에 지정이 됩니다. 그래서 여기서 CAT 띄고, 띄어도 스페이스도 공간을 가져갑니다. 그 다음에 AND 띄고, DOG가 이런 식으로 연속되게 저장이 되고 그래서 C를 접근하고 싶으면 A에 0번을 하면 C를 접근할 수 있는 거고 A에 2번을 접근하면 T로 접근을 할 수가 있다는 것입니다.

05:53:01

그래서 이제 sequence time이라는 것이 나옵니다. sequence time은 뭐 별도의 타임이 아니라 아까 앞에서 말씀드렸던 것처럼 스트링이 이제 스트링 같은 경우에는 이제 순차적으로 순차적으로 있는 것들을 우리가 sequence time이라고 합니다. 그래서 앞에 스트링 같은 경우에도 저희가 정의를 하면은 이게 연속적으로 저장이 됐죠. 여기 보시는 것처럼 이런 식으로 연속적으로 3개가 붙어있고 그 다음에 catch and off 같은 경우는 쭉 이제 catch and off 이라는 것이 한 글자씩

05:53:40

다 연속적으로 저장이 됩니다. 그런 것들을 우리가 시퀀스 타입의 데이터다 라고 설명을 할 수가 있고요. 그 다음에 시퀀스 타입의 가장 중요한 점은 이것이 older 순서를 가지고 있다. 그래서 이 파이썬 같은 경우에는 이제 뭐 취풀이나 리스트라는 타입을 가지고 있는데 그것들이 이제 다 시퀀스이다. 그래서 앞서서는 저희가

05:54:13

그... 이런 스트링만 받잖아요 그것이 아니라 리스트라는 것이 있습니다 리스트는 말 그대로 목록입니다 그래서 목록 같은 경우에는 이런 식으로 우리가 20, 20, 14 그 다음에 15 이런 식으로 우리가... 코드를 또 안좋은 거 보여 드렸네

05:54:47

여기 보이는 것처럼 a는 이제 10, 20, 13, 15를 갖는 리스트다 그래서 이 리스트를 선언을 해줄때는 여기 보이는 것처럼 대괄호로 묶어준다 그러면은 이런 식으로 우리가 a의 값을 프린트를 해보면은 이런 식으로 나오게 된다 이때 앞에서는 이제 스트링이었는데 우리는 여기서 이제 정수 값을 나열을 할 수가 있는 거죠 그래서 정수 값이 이런 식으로 나열이 되고요 여기서 꼭

05:55:26

주의해야 될 것은 여러분들이 나중에 이제 뭐 우리 과목 뿐만 아니라 여러 컴퓨터 과목 관련해서도 시험을 볼 거고 나중에 뭐 자격증에서도 나올 텐데 이런 식으로 A를 하면은 그냥 여기다가 10, 20, 13, 15 이런 것만 써주면 안 됩니다. 여기 이제 대괄호로 표현을 해서 이것은 리스트다, 리스트 타입이다 라는 것을 명확하게 설명을 해주셔야 됩니다. 감사합니다.

05:55:57

이거는 기본이기는 한데 실수하는 학생들도 많이 있더라고요 그래서 이것이 안 써주면 이것이 어떤 타입인지 그냥 인지저를 프린트한 건지 아니면 문자에 한 건지 만약에 이걸 안 해준다면 우리가 이런 식으로 A를 문자열로 정의를 해주면 이걸 프린트하면 이런 식으로 나오니까 결과값은 틀리게 되는 거죠 앞에는 리스트 타입을 인쇄를 프린트 한 건데

05:56:29

지금 같은 경우에는 문자열로 하니까 이런 식으로 나오는 것을 확인을 할 수가 있다 이거는 뭐 나중에 칩을 드릴 거고요 그래서 이 시퀀스 대열들은 접근을 할 수가 있다 그래서 앞서서 우리가 문자열도 s는 high라고 정의를 했을 때 s의 첫 번째 문자열을 0, 인덱스의 0번 그 다음에 인덱스 2번, 10번 이런 식으로 접근을 할 수가 있었고

05:57:17

그래서 특정, 우리가 몇 번째, 0번째인지, 1번째인지, 2번째인지, 3번째인지를 넣어주면 그 값을 가져올 수가 있고 그 다음에 슬라이싱을 하면은 어떤 구간, 첫번째부터 두번째, 세번째까지, 다섯번째부터 열 번째까지 이런 식으로 가져올 수 있고 그 다음 concatenating이라고 해서 리스트를 붙일 수도 있는 거죠. 여러 개의 시퀀스를 아까 문자열도 나중에 뒤에서 확인을 하겠지만 붙일 수가 있습니다.

05:57:53

그래서 이것들을 간단하게 예시 여러개 보여드리도록 하겠습니다. 예를 들어서 여기서 1, 20, 13, 15를 더 많이 해봅시다. 100, 11, 110, 100 이런식으로 하면 문자의 리스트 입시적으로 된 리스트들이 이런식으로 나오고요. 만약에 여기서 세 번째 것을 보고 싶다

05:58:27

그러면은 아, 13 이라고 하는 것을 보고 싶다. 그러면은 0번, 1번, 2번, 2번 인덱스죠. 2번 인덱스를 이런 식으로 넣으면은 13 값이 나오는 것을 확인할 수가 있죠. 그 다음에 이제 뭐 슬라이싱 이라고 해서 이 뭐라고 해야 돼? 콜론 명령어를 쓰면은 이걸 가져올 수가 있고요. 그래서 이 콜론 명령어 같은 경우에는 이제

05:59:01

0부터 3번 미만까지 0, 1, 2번의 원소들을 가져오는 겁니다 0, 1, 2번 원소들을 이렇게 가져오면 1, 12, 20, 14 이런 식으로 나온다 그리고 0번 하면 1 이런 식으로 나오게 되고요 여기서 또 팁을 드리면 이 A 0번 같은 경우에는 1, 원소 1를 가져온 거잖아요 예를 들어서 3번 이런 식으로 해도 1

05:59:37

그 다음에 4번 이런 식으로 해도 하나를 가져오니까 여기서 리스트로 가져오는 것이 아니라 이런 식으로 11이라는 인시적 값을 가져와서 여기는 대괄호가 따로 없는 거죠. 이것도 그냥 팁으로 알고 계시면 되고요. 예를 들어서 아까 concatenate 라고 해서 더셈 연상이 있었죠. 여기 보시면 concatenate 이라고 해서 더셈 연상이 있었는데 이것이 무엇이냐 라고 하면은 여기에 이제 리스트를 더 붙이는 겁니다. 990, 990

06:00:10

이런 식으로 하면은 A에다가 끝에 99가 하나 더 붙은 걸로 확인을 할 수가 있죠 그래서 이런 식으로 우리가 concatenate를 해줄 수 있다 G에다가 더 붙일 수 있다 아마 이거 뒤에서 설명이랑 예시가 더 많이 나올 겁니다 그리고 이제 이 list, sequence 타입에 sequence 타입의 어떤 데이터들의 이 sequence 타입의 길이 어떻게 보면은 크기를 나타내는 오퍼레이션이 함수가 램이라는 함수입니다 이게 결국엔 length, 우리가 알고 있는 길이의 줄임말이고요 그래서 각 데이터가 크기가 어떻게 되는지를 말해주는 겁니다

06:01:05

그래서 이거 같은 경우에는 1, 2, 3, 3개죠. 3개니까 3을 프린트하고 이거 같은 경우에는 글자수가 1, 2, 3, 4, 6, 7, 8, 9개니까 9를 반환을 합니다. 그 다음에 이거 같은 경우에는 총 12글자라고 하네요. 12글자의 값을 반환을 합니다. 그래서 이 시퀀스 타일의 크기, 길이를 나타내 주는 것이 젤 랜이라는 오프레이션입니다. 그 다음에 이제 시퀀스 인덱스 아까 처음에 인덱스

06:01:39

접근하는 거 설명을 드렸었죠. 그런 것처럼 어떤 값으로 이제 인덱싱을 할 수가 있고 그 다음에 여기서 좀 알아주실 것은 처음 스타트는 0번 인덱스이다. 그래서 이거는 나중에 또 컴퓨터로 과학하시는 분들은 더 잘 이해해 두시면 좋은데 이 메모리에 접근을 할 때 0번부터 하는 게 실제로 프로그램 구성을 할 때 조금 더 편리합니다. 그러다 보니까 이런 식으로 0으로 처음 인덱스를 0으로 지정을 해 놓는 게 더 편해서 인덱스는 0부터 시작을 합니다. 그 다음에 끝나는 거는 그러니까 n-1개가 되겠죠.

06:02:25

아, 이건 아닙니다. 그래서 0, 1, 2, 그 다음에 0, 1, 2, 3, 4, 5, 6, 7, 8까지 이런 식으로 할 수가 있고요. 그 다음에 마이너스 1이라고 하면은 G에서부터 세는 겁니다. 그래서 마이너스 1 하면은 G에서부터니까 여기 2가 나오는 거겠죠. 그 다음에 뭐 4 이러면은 이런 식으로 0, 1, 2, 3, 4 4번 0, 1, 2, 3, 4니까 C가 나오게 되겠죠.

06:03:00

이것도 몇가지 예시를, 재밌는 것을 살펴보면 리스트도 똑같습니다 이런식으로 할 수가 있고 아까 말했던 것처럼 a에 마이너스 1 하면은 가장 끝에 이게 10이 나오겠죠 그 다음은 이런식으로 10 첫번째 마이너스 1 그러면은 마이너스 2 하면 어떻게 될까요 마이너스 2 하면은 10이 나오죠 끝에서 두번째 그 다음에 끝에서 세번째는

06:03:31

마이너스 3 이런식으로 될 거고요. 다음에 이것도 이런 식으로 할 수가 있겠죠. 이게 되나? 안 될 거고요. 0번째부터 G에서 3번째까지 하면은 이런 식으로 나오게 되겠죠. 0부터 마이너스 1이라고 하면 10일까지 나오게 되겠죠. 이런 식으로 다양하게 할 수가 있습니다. 그래서 플러스는 이쪽 방향 마이너스는 이쪽 방향을 뽑는다. 그 다음에 그 다음에

06:04:07

추가적으로 더 알려드릴 수 있는 것은 이런 식으로 아무 숫자도 안 하면은 전체를 가져오는 거고요 이거 뒤에 아마 다 자료가 나와 있을 건데 앞에다 놓으면은 여기는 2부터 그리고 뒤에 붙으면은 2까지 이런 식으로 됩니다 2까지니까 0부터 20 0, 1, 2는 포함이 안 되니까 그래서 이렇게 부르고, 이렇게 슬퍼, 이렇게.

06:04:42

그래서 여기서 sequence index에 대해서 설명을 드리고 있는데 a는 i부터 j까지 그래서 i, 2, 3, j 미만이 됩니다 그래서 여기 보시는 것처럼 0, 2, 3, 5 미만 그러니까 0, 1, 2, 3, 4번까지를 뽑아라 그러면 0, 1, 2, 3, 4번 artist까지 나오는 거고요

06:05:16

이상 끝까지, 뒤에 없으니까 끝까지 입니다. 그러면은 이제 0, 1, 2, 3, 아 0, 1, 2, 3, S부터 끝까지, S부터 끝까지 이런 식으로 아이고, 여기 안 나오고 있으면, 죄송합니다.

06:05:40

그래서 0부터 5까지 하면 0, 1, 2, 3, 4 그래서 0, 1, 2, 3, 4 A부터 여기 T까지 이런 식으로 나오게 되고요 그 다음에 여기는 3부터 끝까지 그러면 0, 1, 2, 3 그럼 S부터 끝까지 이런 식으로 나오고 여기는 앞에 없으니까 처음부터 끝에서 두 번째까지 끝에서 두 번째는 뭐야 하나, 둘, 여기니까 여기 미만까지니까 T까지 그래서 A부터 T까지 이렇게 해서

06:06:17

이런 식으로 나오게 되는 거고 이거는 전체를 뽑으라고 했으니까 전체가 다 나온다 이런 식으로 이해를 해주시면 됩니다 그 다음에 이제 concatenating 아까 다 설명드렸었죠 리스트나 시퀀스 타입에다가 붙이면은 뒤에다가 더하기를 한다는 거는 두 개를 붙인다라는 개념이 됩니다 그래서 우리가 2 더하기 2를 하면은 이제 4가 나오게 되겠죠

06:06:49

근데 이제 string, e를 string 타입으로 선언을 하면은 얘는 string이니까 아까 sequence 타입이 되겠죠 그래서 sequence 타입에 더하면은 이런 식으로 e 더하기 e를 하면은 22 그러니까 e가 두 개 붙은 새로운 오브젝트가 생성이 된다 이렇게 표현을 할 수가 있습니다 그래서 뭐 여기서 더 아 그리고 이 두 개가 다르면 안 되겠죠 여기는 sequence 때 여기는 인치자 하면은 당연히 오류만 나옵니다

06:07:27

아 그리고 뒤에 나오나? 뒤에 안 나오는데 추가적으로 곱하기는 그거를 여러 개 붙이는 겁니다. 그래서 예시를 드리면은 이거를 a라고 이런 식으로 하면 문자열을 a로 하면 이렇게 되는데 여기다 곱하기 10을 하면 a가 10번 반복되는 겁니다. 그래서 a가 10개 붙고 a 이런 식으로

06:08:13

그 다음에 예를 들어서 근데 여기다가 이제 더하기 일을 하면 아까 타입이 안 맞으니까 여기서는 에러가 발생을 하겠죠. 그래서 곱하기 영상 같은 거 알아주시면 나중에 유용하게 써먹을 수가 있습니다. 다시 돌아와서 다시 돌아와서

06:08:41

그 다음에는 이제 type-conversion 이라는 것이 있습니다. 잠시만요 type-conversion 이라는 것이 있는데 type을 변환시키는 겁니다. 그래서 integer 같은 경우에는 정수를, 소수를 변환시킨다거나 아니면은 불리한 type을 integer로 바꾸는 것은 안되겠죠. 여기 보시면은 여러가지 타입이 있습니다

06:09:12

밀리언이 있고, 인치저가 있고, 플로츠가 있고, 스트링이 있습니다. 그래서 우리가 어떤 타입이 있으면 그 타입을 변환을 시킬 수가 있는데요. 예를 들어서 우리가 3이라는 것이 있고 3이라는 것의 타입은 인치저가 됩니다. 그런데 우리가 이거를 플로츠 3이라고 하면 3이 실수로 변하게 됩니다. 그러니까 3이 실수 타입으로 변하게 돼서 플로츠라는 것이 실수니까 3.0이 되고 타입은 플로츠가 된다.

06:09:54

그리고 이것을 작은 단위로 여기 보시면은 타입에 표현 스케일이 있는데 이 스케일을 이제 잘 뭐 단환을 할 때 좀 고려를 해야 된다 그래서 우리가 큰 거에서 큰 편에서 작은 표현으로 갈 때 정보를 읽는다 이렇게 보시면 될 거고요 그래서 몇 가지 살펴보도록 하겠습니다 그래서 우리가 float에서 inch점으로 실수에서 정수로 바꾸면은 그 소수점이 다 버려집니다

06:10:34

그래서 이런식으로 3.3 원래는 float 타입이겠죠 float 타입인데 integer 작은 타입 그러니까 float에서 integer로 바꾸게 되면은 표현이 더 작아지면서 3.0 그러니까 0.3이라는 정보가 사라지는 거죠 그래서 더 작은 다리로 바꾸면서 정보가 사라진다 그 다음에 strain을 float로 바꿀 수가 있습니다 그래서 여기 not이라는 거랑 infinite 값은 뭐

06:11:11

아실 필요는 없을 것 같고요 아 네 그래서 이제 문자열을 플로트 로 바꿀 수 있느냐 했을 때 문자열은 이제 플로트 타입으로 바꿀 수가 없다 그리고 이제 스트링 오브젝트는 어...

06:11:41

이 숫자로 되어있는 경우에는 플러트로 바꾸고 있다. 그리고 난이랑 인피니트는 이제 플러트로 바꾸고 있다. 라는 걸을 좀 교회들림케어.

06:12:24

have a-on-

06:12:50

이런 식으로 우리가 float 3이라는 문자열을 선언을 하고 그것을 float로 변환을 합니다 그 다음에 그것의 타입을 뽑아보면은 이런 식으로 float으로 잘 변환이 됐고요 그 다음에 이 값을 실제로 뽑을 볼 수도 있겠죠 뽑아보면은 이제 잘 된다 그리고 반대로 되는지도 한번 봅시다 아마 안 됐던 것 같은데

06:13:27

nd 。

06:13:48

이런식으로 3.3이라는 것을 스트링으로 바꾸면은 타입이 스트링이 되네요 숫자도 스트링으로 바뀌는 것을 확인할 수가 있다 그것도 확인을 했구요 여기 있는 말이 그러면 다 맞겠죠 예를 들어서 스트링 오브젝트는 이게 float로 안된다는게 예를 들어서 이런거는 안되겠죠 이제 float, string인데

06:14:20

숫자가 아닌 abc, abc 이런식으로 하면은 이거는 에러가 나겠죠 이것이 이제 string object는 float로 바꿀 수 못한다 근데 이거를 숫자로 이렇게 표현을 하면은 float 안에 있는 것들이 숫자로만 되어 있으면은 이것도 float로 우리가 바꿀 수가 있다 그래서 이제 이런식으로 float로 바꾼 것이 프리치가 된다 라는 것을 확인을 할 수가 있구요

06:14:53

네 그렇습니다. 그래서 스트링을 또 인치로 바꿀 수 있냐 이것도 똑같은 내용이죠. 네 이것도 마찬가지로 float랑 마찬가지로 스트링을 인치적으로 바꿀 수 있다. 그래서 이 큰 표현에서 작은 표현으로 가는 것이 가능하다라는 것을 얘기를 하고 있고요. 그 다음에 중요하지 않지만 그래도 알아두면 좋은 내용이 있는데

06:15:37

string float integer을 Boolean으로 하는데 웬만하면은 다 true 값입니다. 웬만하면은 어떠한 값이 존재한다고 하면은 다 true라는 값을 갖는다. 그리고 이제 예외적으로 이제 none 이라는 이런 값 같은 경우에는 Boolean으로 변환을 하면은 얘는 false로 인지가 되는 거고요. 그 다음에 앞에서 지난 시간에 했던 내용이랑 똑같은데 숫자를 0이라고 하면은 이제 그거는 false

06:16:13

false라고 인지를 한다. 그 다음에 이제 non-scalor object들이 이제 비어있다. 그래서 아무것도 없거나 이런 식으로 아무것도 없으면은 이건 false. 근데 여기 띄어쓰기가 들어가 있으면은 space라는게 들어가 있으니까 이거는 true가 된다. 이거는 네 실수하지 않게 잘 알아주시면 됩니다. 그래서 웬만하면 다 true고 0 이면은 false 그 다음에 none 이면은 false. 빈값이면 false 그 다음에 뭐 아무것도 없으면 false. 그 다음에 여기 0이라고 넣었어도 이거 같은 경우에는 string 안에 0이라는 값이 있는 거니까 이거는 true가 됩니다.

06:16:59

여기까지가 이제 타입 변환이구요. 그래서 이런 것들은 여러가지 한번 여러분들이 직접 해보시면서 익히는게 더 많이 도움이 될겁니다. 그러면은 한 10분 정도 쉬었다가 20분이면 한 30분까지 쉬었다가 수업 진행하도록 하겠습니다. 그러면서 2차 출석체크를 다시 시작하도록 하겠습니다. 출석체크하고 30분까지 쉬었다가 수업 재개하도록 하겠습니다. 배열 내용은 루프 스테이트먼트 입니다. 루프라는 것은 말 그대로 뭔가 루프 이렇게 돌아가는 것 순환하는 것

06:33:54

룹 스테이트먼트라고 정의를 하는데 이러한 예시가 있을 수 있겠죠 예를 들어서 우리가 99단을 출력하는 프로그램을 만들고 싶어요 그러면은 이런 식으로 만들 수가 있겠죠 e 곱하기 1을 x로 놓고 print x 그 다음에 e 곱하기 1을 x로 놓고 print x 그 다음에 e 곱하기 3을 print x로 써 이런 식으로 해서 e 곱하기 9까지 print를 할 수가 있겠죠 근데 보면은 계속 똑같은 부분이 반복이 되죠

06:34:31

X equal 2 곱하기 이 부분은 계속 반복이 되고 프린치X도 반복이 되고 맨 뒤에 있는 곱해지는 수들만 바뀝니다 그래서 뭔가 우리가 이걸 좀 효율적으로 할 수 있지 않을까 해서 나온 게 for loop 입니다 for loop 같은 경우에는 for loop statement은 다음과 같이

06:35:03

그래서 for i는 구 안에 있는 값들로 넣어라 라는 그래서 for loop가 이런식으로 있는데 이 명령어는 이제 i를 이 구 0부터 구 range 범위가 구까지 안에서 i를 바꿔라 라는 것입니다. 그러면 이것이 이 for loop 안에서 i가

06:35:39

자동적으로 0부터 0, 1, 2, 3, 4, 5, 6, 7, 8, 9까지 이런 식으로 i가 8까지 가는 겁니다. i가 8까지. 그래서 range 9라고 하면 0부터 8까지 이 i가 값이 변하면서 출력이 됩니다. 네 그래서 이제 아이가 처음에 0이 나오니까

06:36:10

2 곱하기 1을 하기 위해서는 0 플러스 1을 해줘야겠죠 그러면은 이것이 나오고 그 다음에 이제 뭐 0, 1, 2, 3, 4, 5, 6, 7, 8까지 가니까 8 플러스 1 해서 9까지 해서 2 곱하기 9까지 여기 이제 나오게 됩니다 뭐 실제로 한번 간단하게 해볼까요 뭐 곱셈 예시는 말고

06:36:53

이런 식으로 짜서 i를 그냥 출력을 해봅시다 그러면 i가 0, 1, 2, 3, 4, 5, 6, 7, 8까지 그래서 range 이거라는 것은 0부터 시작해서 9 미만 아까 앞에서 슬라이싱 할 때도 뭐 이상, 뭐 미만 이런 식으로 됐었죠 그런 것처럼 끝에 미만으로 합니다 근데 우리가 0부터 시작하지 않고 싶을 때도 리스트 있죠

06:37:26

그럴 경우에는 이런 식으로 5부터 시작하고 싶다 5부터 9까지 이런 식으로 하면 5, 6, 7, 8 이런 식으로 나오게 됩니다 그래서 안에 숫자를 이런 식으로 넣으면 range 5부터 9까지 이제 돌아가면서 만들게 됩니다 그래서 i가 5부터 9까지 예를 들어서 10, 15 이런 식으로도 되는 거고요

06:37:59

5부터 15까지고 앞에가 더 크면 안되겠죠? 네, 이거 하면 돌지가 않습니다. 오류는 안 나는데 20부터 15까지 하려고 했더니 이제 안 들어가는 거죠. 이런 식으로, 됐다. 이런 식으로 선원이 되는 거고요.

06:38:28

그리고 for loop 말고도 while statement 라는게 있습니다. 이것도 같이 앞에 말했던 것처럼 반복을 해주는 것인데 이 반복은 앞에서는 우리가 i의 값을 정해놓고 그 범위 안에서 반복을 우리가 원하는 수만큼 반복을 시키는 건데 이 while statement 같은 경우에는 조건을 받은 겁니다.

06:38:59

그래서 while 다음에는 이 조건, conditional statement, conditional expression 이런 것들이 와야 됩니다 그래서 이 조건이 맞을 경우에는 그 안에 있는 코드 블록을 실행을 합니다 그 다음에 그 조건이 안 맞을 경우에는 이제 그 while문을 빠져나오게 되는 거죠 그래서 실제로는 이런 느낌입니다

06:39:32

그 loop condition이 true 이면은 이 loop를 실행하고 이것이 아니면은 이 loop를 나와라 그래서 코드가 들어와서 어떤 조건을 확인을 합니다. 조건이 맞으면은 그 안에 있는 명령어를 실행을 하고 그 실행이 끝나면은 다시 조건을 확인을 하고 맞으면은 다시 이렇게 오고 그것이 이제 틀리면은 나오는 거죠 그런 식으로 우리가 짤 수가 있고요

06:40:08

그래서 우리 그런 게임도 많이 해볼 수 있죠. 예를 들어서 숫자 업다운 게임을 할 수가 있죠. 그래서 우리가 어떤 숫자를 생각을 합니다. 그 다음에 숫자가 맞을 때까지 계속 질문을 할 수 있는 거죠. 이것이 이 숫자가 맞습니까? 아닙니다. 하면 숫자를 확인하는 루프를 계속 돌고 그 다음에 이것이 맞습니까? 했으면 맞으면 루프를 나오는 것입니다.

06:40:45

이런 식으로 할 수가 있겠죠. 그래서 우리가 이런 식으로 프로그램을 짤 수가 있겠죠. 예를 들어서 우리가 어떤 숫자를 예측을 해놓고 그 다음에 50을 입력을 합니다. 근데 그 숫자가 이제 더 크다 라고 하면은 더 작은 것 중에 하나 25를 넣을 수가 있고 그거는 너무 작다. 그러면 25랑 50 사이에 있는 40 40분 너무 작다 그러면 40이랑 50 사이에 있는 45

06:41:19

45는 너무 작다. 그럼 45랑 50 사이에 있는 거니까 48을 넣으면은 네 맞습니다. 우리가 48을 생각했습니다. 이런 프로그램을 짤 수가 있겠죠. 그래서 그 코드를 여기에 짜놨는데 이것도 그냥 집에서 한 번씩 짜보시면은 좋을 것 같아요. 그래서 이 부분에 설명 코드를 하나하나 설명을 드리면은

06:41:56

우리가 이 함수, random int 1에서 99라는 것은 1에서 99 사이에 있는 정수 하나를 뽑아라. 정수 하나를 뽑고 그것이 이제 secret number. 우리가 생각하고 있는 숫자를 우리가 이런 식으로 랜덤하게 설정을 해놓을 수가 있겠죠. 그 다음에 이제 물어볼 수 있겠죠. 너랑 1부터 99 사이에 어떤 수를 예측하시오.

06:42:28

라고 해서 이거는 뒤에서 배울 겁니다. 어떤 숫자를 입력을 합니다. 숫자를 입력을 하고 그쵸 우리가 여기서 이제 시크릿넘버가 50이었다. 그 다음에 우리가 여기서 40을 입력을 합니다. 그러면은 40이랑 50이랑 같지 않습니까 여기는 같습니까가 아니라 같지 않습니까 라고

06:43:02

라고 나오겠죠. 그럼 같지 않으니까 이 while문을 실행을 합니다. 그래서 만약에 40이랑 50이랑 했더니 우리가 예측한게 secret number 보다 작으면은 우리 건 너무 작으니까 너의 예측은 너무 작습니다. 그게 아니면 너의 예측은 너무 큽니다. 이런식으로 예측을 하겠죠. 이렇게 다 해놨네요. 이런 식으로 하고 다시 물어보겠죠.

06:43:37

And then the new calculation will be made by the gas. And then the new calculation will be made by the gas. You can see that 45 and 50 are different. So you will continue to do this in the inside. So you will do this in the inside. And then you will do the results in the inside. So you will continue to do the results in the inside. And then you will do the results. So if we have 50, we can see that the gas is 50 and the secret number is 50. So it will be different. Two are the same, so it will be different. So it will be different. So it will be different.

06:44:23

이런 식으로 짤 수가 있는 거죠 그래서 우리가 반복문 두 개를 살펴봤어요 while문이랑 for문이랑 이런 식으로 살펴봤고 이 for문 같은 경우에는 우리가 정해놓은 일정한 범위를 도는 느낌이라고 하면 while문은 어떤 조건을 계속 확인을 하고 조건이 맞으면 반복을 하고 그 조건이 틀리면 이제

06:44:57

그래서 여러분들이 어떤 프로그램을 짤 때 Fore문으로 짤 수 있는 것은 다 Wild문으로 짤 수 있고 Wild문으로 짜는 것도 Fore문으로 짤 수 있습니다 그렇게 하려면 Fore문 안에서도 조건문이 필요하게 되고 그 다음에 Wild문에서도 조건을 잘 설정해야지 Fore문처럼 동작하게 만들 수가 있습니다 그래서 여러분들이 나중에 코드를 엄청 많이 프로그램을 짜다 보면 이거는 Fore문으로 짜는 게 조금 더 효율적일 때가 있고 어떤 경우에는 Wild문으로 짜는 게 좀 더 효율적일 때가 많이 있습니다

06:45:43

그래서 이런거는 좀 많이 해볼수록 여러분들이 감을 익힐 수가 있고요 이러한 것도 할 수가 있겠죠 break라는 스테이트먼트가 있는데 break 같은 경우에는 중간에 우리가 while문을 실행을 하더라도 어떤 조건을 만족하면 우리가 그 while문을 무조건 나오게 해줄 수 있는게 break입니다 그래서 우리가 x는 1이라고 하고 y는 true 이런 식으로 해놓으면

06:46:18

true라는 값이 있으니까 이 while분이 항상 실행됩니다 그러니까 while분에서는 제가 어떤 조건을 확인을 한다고 했죠 근데 그 조건을 이런 식으로 true로 박아버리면 true가 계속 있는 거니까 계속 코드가 되겠죠 계속 코드가 돌면서 x를 11로 나눈 나머지가 0이고 11로 나눈 나머지가 0이면 이거를 break하고 그렇지 않으면은 이제 x는 1을 더해야 그래서 처음에 x가 1이 들어오면은 11이 들어오고

06:46:53

그 다음에 12, 13, 아 1이 들어오고 이 조건을 만족하지 않으니까 2 1에다가 1을 더하니까 2가 되고 위에 돌아와서 반복하니까 3이 되고 4가 되고 5가 되고 쭉쭉쭉 이렇게 갈 겁니다 그러다가 이제 10이라고 12를 나눴을 때 둘 다 나머지가 0이 되는 것은 최소 공배수가 되겠죠 최소공배수가 되면은 브레이크 해라 그러면 그때 이제

06:47:24

그 값은 11과 12로 모두 나눠 떨어진다. 뭐 이런 식으로 우리가 코드를 만들 수가 있겠죠. 이런 식으로 짤 수가 있습니다. 그래서 이런 건 좀 많이 쓰이는 스킬입니다. 어떤 반복문을 무한 반복시키고 싶으면 이런 식으로 while true 로 해놓는 것도 괜찮고 여기에 조건을 넣어도 괜찮겠죠. 그래서 다음에 들어갈 내용이 4, 스테이치, 1, 2.

06:47:57

이게 왜 이런 식으로 나왔는지 잠시만요 네 그래서 for loop 같은 경우에는 이제 앞에 말했던 것처럼 앞에 for 그 다음에 우리가 쓸 변수 그 다음에 in 그 다음에 sequence 이 세 가지가 하나 둘 셋 네 개가 짱이 됩니다. 최소한의 짱이 이렇게 네 개가 됩니다. 여기 나중에 더 들어가게 할 수도 있는데

06:48:31

기본적으로는 이 대가지 값이 주권으로 이 for문의 기본 구조라고 생각하시면 되고요. 그 다음에 여기 안에 들어가는게 이제 반드시 sequence object입니다. 앞에서 저희가 sequence object가 무엇인지 배웠죠. 이렇게 순차적으로 배열이 된 것을 우리가 어떤 데이터들이 순차적으로 나이어된 것이 우리가 sequence 타입이라고 했고요. 그래서 이 sequence time의 값들을 하나씩

06:49:04

이 s 에 넣는 겁니다. 그래서 뒤에 예시를 보시면은 우리가 뭐 abcd라는 시퀀스를 선언을 할 수가 있죠. 시퀀스 타입의 어떤 데이터를 선언을 합니다. 그래서 시퀀스라고 하는 것을 선언을 하고 for s s 라는 것에 시퀀스에 있는 것들을 하나씩 빼와서 사용을 해라 라고 하면은 print s 를 하면은 이제 뭐 이런 식으로 abcd 이런식으로 나오게 되겠죠.

06:49:41

실제로 그래서 처음에 이 코드를 돌리면 시퀀스에 ABCD가 들어가고 그 다음에 for s in sequence하면 s의 첫 번째 원소인 시퀀스의 첫 번째 원소인 a가 들어가게 되고 print s를 하면 s가 나오고 그 다음에 시퀀스 이렇게 하면 speed 그 다음에 하면 c, 그 다음에 j 이런 식으로 나오게 됩니다

06:50:16

그리고 앞에 우리가 range에 대해서도 사용을 했었죠. 그래서 range 같은 경우에는 시퀀스의 처음부터 끝까지 end-1이니까 아까 9-9라고 했을 때는 8까지 선언이 되는 거죠. 그래서 0부터 end-1까지 이런 식으로 나온다. range도 start와 끝을 정할 수 있다. 그래서 시작 이상, end 미만까지 이런 식으로

06:50:52

시퀀스를 가져올 수가 있다 그 다음에 이제 스텝을 넣을 수가 있는데요 그 다음에 이런 식으로 렌지 안에 3개가 들어가게 되면은 시작, 끝, 스텝 그래서 스텝이 이제 뭐 2, 4 우리가 2, 4, 6, 8을 하고 싶으면은 스텝을 2로 해놓으면은 0, 뭐 스타트 스텝은 뭐 이거는 예시를 한번 직접 보여주는게

06:51:25

It's like, it's in the- ende-, but I-- 。- 。- 。 rem- 。- 。- 、- 。- 。- 。- 。 。- 。- 。- 。- 。- 。- — 、- … 。- …- 。 。- 。 。- 。 — — 、 — — 、- - 。 、 — — — 、 — … — — — — — — — — — — — — — — — — — — — — —— — — — — —— — ——— —— — — — — — ———— —— — — — — ———— —

06:51:51

이런 식으로 선언을 하게 되면 i를 1부터 10 미만까지 그러니까 1부터 9까지 프린치해라 하면 1부터 9까지 이런 식으로 나오게 되고요 여기서 예를 들어서 하나의 변수를 더 넣습니다. 스텝이 2니까 그러면 이 간격으로 뽑아라 1부터 9까지 2 간격으로 그러면 1, 3, 5, 7, 9까지 이런 식으로 1, 3, 5, 7, 9가 나오겠죠 그래서 이런 식으로 스텝을 넣어서 반복을 할 수가 있다

06:52:31

가 to of the

06:52:39

이런 식으로 우리가 포문을 반복을 해서 사용할 수가 있다. 그리고 여기까지가 이제 for loop에 대해서, loop statement에 대해서 설명을 드린 거고요. 그 다음에는 이제 여러가지 함수, 기초 함수에 대해서 설명을 드릴 건데 print와 if라고 되어 있지만 기본 함수들 여러가지를 살펴보도록 하겠습니다. 그래서 우리 계속 실습하면서 print와 함수를 사용을 하고 있죠. 그래서 이 print라는 것은 파이썬의

06:53:12

내장되어 있는 함수가 되겠고요 프린트를 하면 그 안에 있는 내용들을 우리가 프린트하게 됩니다 그래서 이 파이썬에는 다양한 기본 함수들이 제공이 되고요 우리가 자주 사용하는 프린트 그런 것도 있고 우리가 자주 사용하는 프린트 함수도 있고 아이디, 타입, 우리 계속 확인했었죠 주소를 확인하는 함수, 타입을 확인하는 함수

06:53:48

그 다음에 type 인치죠. 그래서 여기다가 숫자를 넣으면 그 타입으로 변한다고 했죠. 타입을 변환시켜주는 특정 타입으로 변환시켜주는 함수들. 그 다음에 sequence 타입의 데이터의 크기를 말해주는 뭐 legs. 그 다음에 for loop에서 어떠한 범위를 사용하는데 나타내는 이 range 함수 등 등 다양한 함수들을 제공을 하여 주고 있습니다.

06:54:20

그래서 이러한 함수들을 우리가 쓸 때 call statement라고 해서 함수를 call한다 함수를 부른다 라고 해서 우리가 이제 call statement라고 하고요 그래서 call statement 같은 경우에는 함수랑 임자 이렇게 두 가지로 나누어져 있습니다 그래서 함수는 말 그대로 함수 그래서 여기서 우리가 print 함수 그 다음에 input 함수 그 다음에 id 함수라고 할 수 있고요 argument라고 하는 것은 임자입니다 그래서 그 함수에서 어떠한 값들을 사용을 할 거냐

06:55:03

그러면 print라는 함수에 어떠한 argument, 예를 들어서 hello라는 단어를 넣으면 hello라는 단어를 print 하는게 되겠구요. 그 다음에 여기다가 수식을 넣으면 그 수식의 결과값을 print 해주겠죠. 그래서 argument 라는 것은 함수에 들어가는 인자를 우리는 argument 라고 정의를 한다. 그래서 나중에 여러분들이 뭐 더

06:55:37

배우다 보면은, 여러분들이 프로그램 짜다 보면은 어떤 함수를 만들게 되고 그 함수에 어떤 값을 넣게 되어 있는데 그 값을 잘못 넣거나 아니면은 덜 넣거나 10개의 인자가 필요한데 8개만 넣는다거나 그럴 경우에는 이런 argument 에러가 뜨기로 합니다. 이거는 나중에 알아주시면 좋은 거고요. 그래서 뭐 프린트 함수에는 다양한 인자들이 들어갈 수 있고 이런 식으로 스트링이 들어갈 수도 있고 연산이 들어갈 수도 있죠.

06:56:16

그래서 이런 hello라는게 넣으면 hello가 프린트되고 우리가 어떤 수식을 넣으면 계산식을 넣으면 계산 결과가 이런 식으로 나오기도 하고 abc랑 def랑 더하기 우리가 sequence 타입에 더하기는 붙인다고 했죠 그러면 abcd가 되어있고 그 abcd가 붙여져서 프린트가 됐다 이런 식으로 확인을 해주시면 됩니다 그리고 우리가 어떤 수식을 넣고 싶으면은 여러개 프린트에도 여러개 인자를 넣을 수가 있습니다 하나만 넣는게 아니라 이런 식으로 콤마로

06:56:55

구별을 해주면 이제 다 들어가서 인자로 프린트가 되고요 그래서 3 더하기 2는 5 이거를 출력하고 싶으면 이런 식으로 하면 됩니다 그리고 다음 시간에 배우겠지만 이 프린트 안에 이 인치저 나 지금 이렇게 숫자로 넣으면 이게 인치저가 되는데 그것도 우리가 어떤 변수로 받는 것도 배롤레이션입니다 어쨌든 여기까지는 뭐

06:57:28

이런 식으로 우리가 표현을 할 수 있다 정도만 알고 계시면 되고요 그 다음에 이제 input, input이라는 함수는 실제로 우리한테 입력을 받을 수 있도록 만들어주는 함수입니다 그래서 우리가 input 하고서 input을 하면은 실제로 우리가 창에 어떤 숫자를 입력하라고 나옵니다 그래서 예를 들면은 input 너의 이름은 이라고 하면은 너의 이름은 하고

06:58:00

뭔가를 입력하게 합니다. 그러면은 우리가 이건 뭐 김하수 교수님 자료여서 한울 이렇게 치면은 한울이라고 나옵니다. 그래서 우리 이것도 한번 해보면은

06:58:38

이런식으로 돌리게 되면은 여기에 원하는 숫자를 입력하시오 그래서 우리가 10을 하면은 12 이런식으로 입력이 된다 그래서 우리가 그 입력한 숫자를 어떠한 뭐 오브젝트로 오브젝트의 이름을 밸리어블로 이렇게 선언을 하고 싶으면은 x는 input 이런식으로 하면은 우리가 프린트 이런식으로 하면은 우리가 입력을 받고 그 입력을

06:59:16

출력을 할 수가 있는 거죠 그래서 숫자 이런 식으로 해서 식을 하면 식을 이런 식으로 출력을 하게 되고요

06:59:34

그 다음에 이 input 같은 경우에는 여기 설명해 보시면 string object를 반환한다고 되어있죠. string object를 반환합니다. 그래서 우리가 실제로 input 하고서 숫자를 입력을 하더라도 숫자 자체가 string object로 반환이 됩니다. 그러다 보니까 예를 들어서 우리가 어떠한 제곱을 하고 싶을 때 이런 식으로 제곱할 숫자를 입력하세요 하고서 x로 하고 x의 제곱을 하면

07:00:13

실제로 이 x는 7이라는 스트릿, 문자열 7이 되는 거고 문자열 곱하기 문자열은 정의가 되어 있지 않기 때문에 이런 식으로 에러가 발생을 합니다. 그럴 경우에는 우리가 이걸 정수로 선언을 해줘야겠죠. 그때 우리가 앞서 배웠던 Type Conversion, Type 변환 어려운 거 없죠. 그래서 우리가 이렇게 입력을 받으면 입력한 숫자를 int로 바꿔주면 이제 x는 새로운 int, x가 integer 타입의 데이터가 되고요. 그러면 그거를 사용을 하면 이런 식으로 제곱 결과를 우리가

07:01:00

뽑을 수 있다 라고 이해를 해주시면 됩니다. 어렵지 않을 거라고 생각을 하고요. 그래서 간단하게 프린트랑 인풋에 대해서 살펴보았습니다. 그리고 마지막으로 이제 여기까지 프로그래밍 리그젠플들을 살펴보도록 하겠습니다. 그래서 앞에 말했던 예시로 19단을 뽑아주었습니다.

07:01:33

19단을 출력하는 프로그램을 한번 짜보도록 합시다. 19 곱하기 1부터 19까지 이런 식으로 우리가 선언을 할 수가 있고요. 그래서 4번으로 우리가 곱하기를 짠다 하면은 다음과 같이 짤 수 있을 겁니다. 이렇게 짤 수가 있고요. 조금 더 문제를 바꿔서

07:02:05

우리가 어떤 숫자를 육하면은 그 숫자에 맞는 어떤 구구단을 출력해 주는 프로그램을 한 번 짜보는 것. 한 번 짜보는 것. 한 번 짜보는 것. 한 번 짜보는 것. 한 번 짜보는 것. 한 번 짜보는 것. 한 번 짜보는 것. 한 번 짜보는 것. 한 번 짜보는 것.

07:02:30

아, 아, 이런 식으로 처음에 원하는 단수를 몇 단인지 입력하세요 라고 하면은 우리가 입력을 받고 그 단수를 우리가 새롭게 이제 integer 타입으로 바꿉니다. 이렇게까지 하고, 그럼 우리가 5단이라고 하면은 5부터 9까지 곱셈을 해야겠죠.

07:03:05

그러면 for i는 9까지 1부터 10까지 이런 식으로 해놓으면 자연스럽게 1부터 9까지 i가 1부터 9까지가 되겠죠 print i 곱하기 x 이런 식으로 하면 다시 나올 거고 잠시만요 그러면 우리가 이런 식으로 하면

07:03:39

이렇게 나누면 원하는 단수 5단을 입력하면 이런식으로 5,2는 5,5,2,5,3,5 이런식으로 나올거고 근데 여기에 숫자만 나오면 좀 그러니까 여기다가 5단의 값들을 넣어주면 되겠죠 5 곱하기 x 이런식으로 선언을 하게 되면은

07:04:22

이런 식으로 우리가 짜 놓으면은 어떤 숫자를 입력하고 그거에 따라서 프린트 하는 것을 할 수가 있습니다 예를 들어서 이렇게 하고 우리가 2단을 입력을 하면은 21은 222는 248 이런 식으로 우리가 짜게 나올 수가 있죠 그래서 여기는 아까는 이제 range만 사용을 했어서 range, 끝까지

07:04:52

이렇게 짰었는데 짜고 여기다가 i 플러스 1이라는 것을 했었는데 그렇게 하면 좀 더 헷갈리니까 편하게 1부터 9까지 이런 식으로 정의를 해주면 조금 더 우리가 직관적으로 짤 수 있다 이런 것을 한번 확인을 해보았습니다 그 다음 문제 한번 살펴보죠 그래서 여기에 재미있는 문제를 만들어 놨어요 우리가 쌀을 갉아먹어서 쌀로, 실로 변했어요

07:05:28

그래서 쌀 안에 있는 쌀의 개수만 세어보세요 이런 식으로 예를 들어서 이런 거죠 뭐 우리가 쌀이랑 실이랑 막 섞여 있는 그런 운자의 열이 있어요 운자의 열이 있고 그 안에서 실이 몇 개인지 아니면 쌀이 몇 개인지를 체크하는

07:06:01

그러면 어떻게 하겠어요? 우리가 이것을 하나씩 비교해 보면 되겠죠 쌀이라는 것에 첫 번째를 가져오고 두 번째를 가져오고 세 번째를 가져와서 그것이 쌀이면 카운트 아니면 실이면 카운트를 하나 더하는 이런 식으로 짤 수 있을 겁니다 그래서 논리만 생각을 해보면 우리가 어떤

07:06:36

그 전체 어떤 쌀이나 씰이나 이런 것을 가져오고 그 다음에 그 안에서 그 값들이 쌀인지 씰인지 확인한 다음에 쌀이면은 카운트를 하나 늘리는 식으로 하면 되겠죠 뭐 간단하게 우리 한번 a랑 b로 합시다 그래서 a랑 b가 섞여있는 문자에 의해서 a의 개수를 세는 것을 짜보도록 합시다.

07:07:10

그러면은 이런식으로 짤 수가 있겠죠 우리가 어떤 mix라는게 있고 여기는 a랑 b가 막 섞여 있습니다 그러면 aaa bbb 이런식으로 한번 해봅시다 그런 다음에 우리가 뭔가를 개수를 세기 위한 것을 초기화 0으로 선언을 해놓고 for i in mix 이런식으로 하면 믹스에 있는 값을 하나씩 가져올 겁니다

07:07:41

그래서 if i가 b, 우리가 그러면 b의 개수를 센다고 해봅시다 b랑 b가 나오면 count는 count plus 1 count에다가 하나를 더해라 이런 식으로 짜라고 나면 print, count 이런 식으로 하면 b의 개수가 나오겠죠 그래서 mix에 있는 것을 하나씩 보면서 그 값이

07:08:19

b랑 같을 경우에는 count 개수를 늘리는 거죠 이런 식으로 하면은 이걸 이제 돌리면 3개 예를 들어서 b를 10개 해봅시다 4, 4, 7, 8, 9, 10개 이런 식으로 하면은 b의 개수가 10개 이런 식으로 나오겠죠 만약에 우리가 a의 개수랑 b의 개수랑 따로 세고 싶으면은 여기다가 b를 세는 거 그 다음에 count to a

07:08:57

0. 그런 식으로 해놓고 만약에 b랑 같으면 b의 개수를 올리고 b의 개수를 하나 더하고 그게 아니면 b가 아니라는 경우는 a밖에 없으니까 count a의 개수를 늘리면 되겠죠

07:09:25

이런 식으로 짜게 되면은 이제 b a 갯수는 count to b a, b 순서대로 할까요? a 갯수는 count to a 이런 식으로 하면은 이제 뭐 확인을 위해서 a, b, b 해봅시다 a, b, b 그러면 둘 점이 나와겠죠

07:10:02

A의 개수는 2개 B의 개수는 2개 그다음에 A는 3개 B는 2개 그러면 A는 3개 B는 2개 뭐 A, B, A, B 두껏 해봅시다 A, B, A, B 이런 식으로 하면은 돌리면은 이제 3개 3개 이런 식으로 짤 수가 있을 겁니다 이거는 뭐 한글로 바꿔서 이제 쌀이든 실이든 똑같이 이런 식으로 짤 수가 있을 거고요 네 여기서는 이제 뭐 층마다 별의 개수 그래서 우리가 뭐 3층을 입력하면은 이제 별이 1개, 2개, 3개

07:10:46

그 다음에 5층이면 1개, 2개, 3개, 4개, 5개가 이런 식으로 나오는 코드를 짤 수가 있다. 그래서 이거는 여러분들이 직접 이거 그대로 돌리면 아마 될 테니까 직접 해보시면 될 것 같고요. 그래서 오늘 수업은 일단은 여기까지 진행하도록 하겠습니다. 혹시 모르는 게 있으면 앞에 끝나고 조절할게요.