두근두근 파이썬수업 4 장자료의종류에는어떤것들이있나요?
이번장에서만들프로그램 (1) 터틀그래픽의거북이와인사하는프로그램을작성해보자. Run Python (2) 여러개의색상을리스트에저장하였다가하나씩꺼내서원들을그려보자 Run Python
파이썬에서사용할수있는자료의종류
파이썬과자료형 변수에어떤종류의자료도저장할수있다 x = 10 print("x =", x) x = 3.14 print("x =", x) x = "Hello World!" print("x =", x) x = 10 x = 3.14 x = Hello World!
문자열 컴퓨터에게는숫자가중요하지만인간에게는텍스트 (text) 가중요하다. ( 예 ) 문자메시지, 인터넷도메인이름 컴퓨터를이용한텍스트의처리도무척중요하다.
문자열 문자열 (string) 은문자들의나열 (sequence of characters) 이다.
문자열을만드는방법 큰따옴표 작은따옴표 >>> "Hello" 'Hello' >>> msg = "Hello" >>> msg 'Hello' >>> print(msg) Hello
문법적인오류 큰따옴표 ( ) 로시작했다가작은따옴표 ( ) 로끝내면문법적인오류이다. >>> msg = "Hello' SyntaxError: EOL while scanning string literal
100 과 100 의차이 100 -> 정수 100, 100 -> 문자열 >>> print(100+200) 300 >>> print("100"+"200") 100200 100+200 을하면 ( 정수 + 정수 ) 형태가되어서덧셈이가능하다. 하지만 100 + 200 은텍스트와텍스트끼리합하는것이기때문에그냥 2 개의텍스트가붙어버린다.
문자열 -> 숫자 int(): 문자열을정수로변환 float(): 문자열을실수로변환 t = input(" 정수를입력하시오 : ") x = int(t) t = input(" 정수를입력하시오 : ") y = int(t) print(x+y) 정수를입력하시오 : 100 정수를입력하시오 : 200 300
숫자 -> 문자열 다음코드에오류가발생하는이유는? >>> print(' 나는현재 ' + 21 + ' 살이다.') Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> print(' 나는현재 ' + 21 + ' 살이다.') TypeError: Can't convert 'int' object to str implicitly 문자열과숫자를합칠수없는의미입니다.
숫자 -> 문자열 str() 함수사용 >>> print(' 나는현재 ' + str(21) + ' 살이다.') 나는현재 21 살이다. >>> print(' 원주율은 ' + str(3.14) + ' 입니다.') 원주율은 3.14 입니다.
문자열접합 2 개의문자열을합치려면 -> + 연산자 >>> 'Hello ' + 'World!' 'Hello World!'
문자열반복 문자열을반복하려면 -> * 연산자 >>> message = " Congratulations!" >>> print(message*3) Congratulations!Congratulations!Congratulations! >>> print("="*50) ==================================================
문자열에변수값포함 문자열에변수의값을삽입하여출력하고싶으면 ->% 기호사용 >>> price = 10000 >>> print(" 상품의가격은 %s 원입니다." % price) 상품의가격은 10000 원입니다.
Lab: 거북이와인사해보자. 터틀그래픽에서사용자의이름을받아서다음과같이출력해보자. Run Python
터틀그래픽에서문자열을입력받는방법 s = turtle.textinput("", " 이름을입력하시오 : ")
터틀그래픽에서문자열을출력하는방법 t.write(" 안녕하세요? 터틀인사드립니다.")
Solution import turtle t = turtle.turtle() t.shape("turtle") s = turtle.textinput("", " 이름을입력하시오 : ") t.write(" 안녕하세요?" + s +" 씨, 터틀인사드립니다.") t.left(90) t.forward(100) t.left(90) t.forward(100) t.left(90) t.forward(100) t.left(90) t.forward(100)
개별문자추출 문자열에서개별문자들을추출하려면 -> 인덱스라는번호를사용한다. s = "Monty Python" print(s[6:10]) Pyth
특수문자열 >>> print(" 말한마디로 \n 천냥빚을갚는다 ") 말한마디로천냥빚을갚는다
Lab: 친근하게대화하는프로그램 변수를사용하여사용자의이름과나이를문자열형태로기억했다가출력할때사용하는프로그램을작성해보자. 문자열의길이를계산할때는 len(s) 를사용한다. Run Python
Solution print(' 안녕하세요?') name = input(' 이름이어떻게되시나요? ') print(' 만나서반갑습니다.' + name + " 씨 ") print(' 이름의길이는다음과같군요 :', end=' ') print(len(name)) age = int(input(" 나이가어떻게되나요? ")) print(" 내년이면 ", str(age+1), " 이되시는군요.")
Lab: 연, 월, 일을합하여출력하기 문자열을저장하는변수를사용하여사용자가입력하는오늘의연도, 월, 일을모두합하여화면에출력하는프로그램을작성해보자.
Solution year = input(" 오늘의연도를입력하시오 : ") month = input(" 오늘의월을입력하시오 : ") date = input(" 오늘의일을입력하시오 : ") print(" 오늘은 ", year+" 년 ", month+" 월 ", date+" 일입니다.")
Lab: 2050 년에는몇살이될까? 자신이 2050 년에몇살이될것인지를계산하는프로그램을작성해보자. import time now = time.time() thisyear = int(1970 + now//(365*24*3600)) print(" 올해는 " + str(thisyear)+" 입니다.")
Solution import time now = time.time() thisyear = int(1970 + now//(365*24*3600)) print(" 올해는 " + str(thisyear)+" 입니다.") age = int(input(" 몇살이신지요? ")) print("2050 년에는 "+str(age + 2050-thisYear)+" 살이시군요.")
리스트 리스트 (list): 여러개의자료들을모아서하나의묶음으로저장하는것 slist = [ ' 영어 ', ' 수학 ', ' 사회 ', ' 과학 ' ]
리스트에항목을동적으로추가 공백리스트를생성한후에코드로리스트에값을추가하는것 list = [] list.append(1) list.append(2) list.append(6) list.append(3) print(list) [1, 2, 6, 3]
리스트요소접근하기 slist = [ ' 영어 ', ' 수학 ', ' 사회 ', ' 과학 ' ] print(slist[0]) 영어
Lab: 친구들의리스트생성하기 제일친한친구 5 명의이름을리스트에저장했다가출력하는프로그램을작성하자. Run Python
Solution friend_list = [ ] friend = input(" 친구의이름을입력하시오 : ") friend_list.append(friend) friend = input(" 친구의이름을입력하시오 : ") friend_list.append(friend) friend = input(" 친구의이름을입력하시오 : ") friend_list.append(friend) friend = input(" 친구의이름을입력하시오 : ") friend_list.append(friend) friend = input(" 친구의이름을입력하시오 : ") friend_list.append(friend) print(friend_list)
Lab: 리스트에저장된색상으로원그리기 리스트에색상을문자열로저장하였다가하나씩꺼내서거북이의채우기색상으로설정하고원을그려보자. Run Python
Solution import turtle t = turtle.turtle() t.shape("turtle") # 리스트를사용하여색상을문자열로저장한다. color_list = [ "yellow", "red", "blue", "green" ] t.fillcolor(color_list[0]) # 채우기색상을설정한다. t.begin_fill() # 채우기를시작한다. t.circle(100) # 속이채워진원이그려진다. t.end_fill() # 채우기를종료한다. t.forward(50) t.fillcolor(color_list[1]) # 채우기색상을설정한다. t.begin_fill() # 채우기를시작한다. t.circle(100) # 속이채워진원이그려진다. t.end_fill() # 채우기를종료한다....
이번장에서배운것 파이썬에서기본적인자료형은정수, 실수, 문자열이다. 파이썬에서 문자열은기본적인큰따옴표자료형은 (... ) 나작은정수따옴표, 실수 (... ), 문자열이다를사용할. 수있다. 문자열은큰따옴표 (... ) 나작은따옴표 (... ) 를사용할수있다. 문자열을정수로변경하려면 int() 를사용한다. 문자열을정수로변경하려면 int() 를사용한다. 문자열을 문자열을실수로실수로변경하려면 float() float() 를사용한다를.. 정수나 정수나실수를실수를문자열로변경하려면 str() str() 을을사용한다.. 문자열과 문자열과문자열을문자열을합치려면합치려면 + 연산자를 + 연산자를사용한다.. 문자열을반복하려면 * 연산자를사용한다. 문자열을반복하려면 * 연산자를사용한다. input() 은사용자로부터문자열을받아서우리에게반환한다. \n은input() 줄바꿈을은사용자로부터나타내는특수문자열을문자열이다받아서. 우리에게반환한다. 리스트는 \n은줄자료들을바꿈을나타내는모아서저장할특수문자열이다수있다.. 리스트는자료들을모아서저장할수있다.
Q & A