3. 변수

【배우기】


엔트리로 해보자

파이선으로 해보자

변수는 어떤 숫자나 문자와 같은 자료를 저장하는 공간으로 새로운 자료를 저장하면 기존의 자료에 새로운 자료를 덮어쓰게 된다. 프로그램을 만드는 일을 요리에 비유한다고 하면, 변수를 선언하는 것은 그릇을 준비하는 것과 같다. 요리를 하기 전에 그릇을 준비해야 하는 것처럼 프로그래밍을 할 때도 변수 를 먼저 선언해주는 것이 좋다.


이미지. 게임 스크린샷.

1엔트리로 해보자

가. 오브젝트 배치와 변수 만들기
이미지. 결과 확인 버튼 오브젝트의 스크린샷

[결과 확인 버튼] 오브젝트를 추가한다.

이미지. 속성 탭의 변수 추가하기 창의 스크린샷

[속성] 탭의 변수 추가하기로 [클릭] 변수 추가하기

나. 버튼을 클릭한 횟수 변수로 표현하기
1) 클릭한 횟수 초기 값 설정하기
이미지. 시작하기 버튼을 클릭했을 때 블록, 클릭을 0로 정하기 블록이 연결되어있는 스크린샷

[예제코드]

[시작] 꾸러미 - [시작하기 버튼을 클릭했을 때] 블록

[자료] 꾸러미 - [클릭 O로 정하기] 블록

[클릭 O로 정하기] 블록의 O에 0 입력하기

[실행결과]
이미지. 클릭 횟수가 0번인 버튼 오브젝트가 있는 스크린샷
2) 클릭할 때 마다 클릭한 횟수 증가시키기
이미지. 오브젝트를 클릭했을 때 블록, 클릭을 1로 정하기 블록이 연결되어 있는 스크린샷

[예제코드]

[시작] 꾸러미 - [오브젝트를 클릭했을 때] 블록

[자료]꾸러미 - [클릭에 O만큼 더하기] 블록

[클릭에 O만큼 더하기] 블록의 O에 1 입력하기

[실행결과]
이미지. 버튼을 클릭할때마다 횟수 증가시키기 동영상의 스크린샷
다. 버튼을 클릭하면 켜짐, 클릭을 해제하면 꺼짐 표시하기
1) 클릭한 횟수 초기 값 설정하기
이미지. 시작하기 버튼을 클릭했을 때 블록, 클릭을 꺼짐으로 정하기 블록이 연결되어 있는 스크린샷

[예제코드]

[시작] 꾸러미 - [시작하기 버튼을 클릭했을 때] 블록

[자료] 꾸러미 - [클릭 O로 정하기] 블록

[클릭 O로 정하기] 블록의 O에 0 입력하기

[실행결과]
이미지. 버튼을 클릭하여 꺼진 화면의 스크린샷
이미지. 버튼을 클릭하면 꺼진 화면의 스크린샷
2) 클릭하면 켜짐, 클릭을 해제하면 꺼짐 표시하기
이미지. 오브젝트를 클릭했을 때 블록, 클릭을 켜짐으로 정하기 블록이 연결되어 있는 스크린샷.

[예제코드]

[시작] 꾸러미 - [오브젝트를 클릭했을 때] 블록

[자료]꾸러미 - [클릭에 O로 정하기] 블록

[클릭 O로 정하기] 블록의 O에 켜짐 입력하기

이미지. 오브젝트를 클릭했을 때 블록, 클릭을 꺼짐으로 정하기 블록이 연결되어 있는 스크린샷.

[예제코드]

[시작] 꾸러미 - [오브젝트를 클릭했을 때] 블록

[자료]꾸러미 - [클릭에 O로 정하기] 블록

[클릭 O로 정하기] 블록의 O에 꺼짐 입력하기

[실행결과]
이미지. 버튼을 클릭하면 켜짐, 클릭을 해제하면 꺼지는 동영상의 스크린샷
라. 코딩 해보기
1) 노란 LED, 빨간 LED를 배치하고 점수 변수를 만들어 노란 LED를 클릭하면 1점씩, 빨간 LED를 클릭하면 5점씩 증가하게 만들어 보자.
이미지. 시작하기 버튼을 클릭했을 떄 블록, 점수를 0로 정하기 블록이 연결되어 있는 스크린샷
이미지. 노랑 LED.
이미지. 오브젝트를 클릭했을 때 블록, 점수에 5만큼 더하기 블록이 연결되어 있는 스크린샷.
이미지. 빨간 LED .
이미지. 오브젝트를 클릭했을 때 블록, 점수에 1만큼 더하기 블록이 연결되어 있는 스크린샷.
[실행결과]
이미지. 노란 LED, 빨간 LED를 배치하고 점수 변수를 만든  동영상의 스크린샷
2) 노란 LED, 빨간 LED를 배치하고 색깔 변수를 만들어 노란 LED를 클릭할 때는 ‘노랑’, 빨간 LED를 클릭할 때는 ‘빨강’, 아무것도 클릭하지 않을 때는 ‘없음’이 변수에 나타나도록 해보자
이미지. 시작하기 버튼을 클릭했을 때 블록, 색깔을 없음으로 정하기 블록이 연결되어 있는 스크린샷
이미지. 노란 LED.
이미지.  오브젝트를 클릭했을 때 블록, 색깔을 노랑으로 정하기 블록이 연결되어 있는 스크린샷과 오브젝트 클릭을 해제했을 때 블록, 색깡를 없음으로 정하기 블록이 있는 스크린샷
이미지. 빨간 LED.
이미지. 오브젝트를 클릭했을 때 블록, 색깔을 빨강으로 정하기 블록이 연결되어 있는 스크린샷과 오브젝트 클릭을 해제했을 때 블록, 색깡를 없음으로 정하기 블록이 있는 스크린샷
[실행결과]
이미지. 이미지. 노란 LED, 빨간 LED를 배치하고 색깔 변수를 만든 동영상의 스크린샷

2파이선으로 해보자

가. 변수 선언

파이선에서는 변수의 이름을 직접 지어줘야 하는데, 다음 규칙을 지켜서 지어야 한다.

1) 문자, 숫자, 언더바(_)를 포함할 수 있다.


2) 숫자로 시작하면 안 된다.


3) 대소문자를 구별한다.


4) 파이선에서 사용하는 예약어(True, False, and, or, not 등)은 변수 이름으로 사용할 수 없다.


나. 변수에 텍스트 데이터를 담는 방법
1) 변수에 텍스트 데이터를 대입
예제코드,3_1.py

a="안녕?"


print(a)


이미지. 3_1.py의 순서도. 시작,a="안녕", print(a), 종료
실행결과

> 3_1.py

안녕?

첫 번째 행에서 변수 a에 “안녕?”이라는 문자열을 대입한 후 세 번째 행의 print( ) 함수로 변수 a의 값을 출력하는 명령이다.

2) 텍스트 변수의 값을 변수에 대입
예제코드,3_2.py

a="안녕?"


b=a



print(a,b)


이미지. 3_2.py의 순서도. 시작,a='안녕' b=a, print(a, b), 종료
실행결과

> 3_2.py

안녕?안녕?

첫 번째 행에서 변수 a에 “안녕?”이라는 문자열을 대입한 후 두 번째 행에서 변수 a의 값인 “안녕?”을 변수 b에 대입하도록 했다. 세 번째 행의 print( ) 함수로 변수 a와 b의 값을 출력하는 명령이다.

3) 여러 줄로 이루어진 문자열은 따옴표 3개로 텍스트를 감싸서 표현
예제코드,3_3.py

a='''도윤아''


안녕


반가워'



print(a)



b="""서하도


안녕


나도 반가워"""



print(b)


이미지. 3_3.py의 순서도. 시작,a="도윤아 안녕 반가워", print(a), b="서하도 안녕 나도 반가워", print(b), 종료
실행결과

> 3_3.py

도윤아

안녕

반가워

서하도

안녕

나도 반가워

한 문장을 표현할 때에는 큰따옴표(“”) 또는 작은따옴표(‘’)를 사용하지만 여러 줄로 이루어진 문자열의 경우 “ ”와 ‘ ’로 묶어줄 수 없기 때문에 연속된 큰따옴표(“”) 또는 연속된 작은따옴표(‘’)를 사용해서 변수에 대입한다.

다. 변수에 수와 관련된 데이터를 담는 방법
1) 변수에 수 데이터를 대입
예제 코드,3_4.py

a=3


b=1.5



print(a)


print(b)


이미지. 3_4.py의 순서도. 시작,a=3b=1.5, print(a) print(b), 종료
실행결과

> 3_4.py

3

1.5

변수 a에는 정수 3을 대입하고, 변수 b에는 실수 1.5를 대입한 후 변수 a와 b를 출력한 결과다.

2) 숫자 변수의 값을 변수에 대입
예제 코드,3_4.py

a=3.5


b=a



print(a,b)


이미지. 3_5.py의 순서도. 시작,a=3.5 b=a, print(a, b), 종료
실행결과

> 3_5.py

3.5 3.5

변수 a에는 실수 3.5를 대입하고, 변수 b에도 변수 a의 값인 실수 3.5를 대입한 후 변수 a와 b를 출력한 결과다.

3) 계산 결과를 변수에 대입
예제 코드,3_6.py

a=1+5.5


b=10-3



print(a)


print(b)


이미지. 3_6.py의 순서도. 시작,a=1+5.5, b=10-3, print(a) print(b) , 종료
실행결과

> 3_6.py

6.5

7

변수 a에는 1+5.5의 연산 값을, 변수 b에는 10-3의 연산 값을 대입한 후 변수 a와 b를 출력하면 연산 값인 6.5와 7이 출력된다.

라. 숫자형 데이터 형식

숫자형 데이터 형식은 크게 정수형 데이터와 실수형 데이터 형식으로 나눌 수 있다. 정수는 음의 정수, 0, 양의 정수를 말하며, 실수는 1.2, -20.3처럼 소수점이 있는 데이터다. 정수 및 실수형 데이터는 모두 숫자형 데이터로 사칙연산을 수행할 수 있다. 다음은 변수의 종류를 확인하기 위한 예제 코드다.

예제 코드,3_7.py

a=10


b=-1.52



print(type(a))


print(type(b))


이미지. 3_4.py의 순서도. 시작,a=10, b=-1.52, print(type(a)), print(type(b)), 종료
실행결과

> 3_7.py

<class ‘int’>

< class ‘float’>

type( ) 함수는 변수의 종류를 확인할 수 있는 함수다. 변수 a에는 정수 10을 대입하고, 변수 b에는 실수 -1.52를 대입한 후 변수 a와 변수 b의 변수의 종류를 확인한 결과다. 변수 a는 정수형 변수이므로 <class ‘int’>가, 변수 b는 실수형 변수이므로 < class ‘float’>가 실행됨을 확인할 수 있다.

마. 코딩 해 보기
1) 화면에 “I’m your friend.” he said를 출력해 보자.

a=’’’”I’m your friend.” he said’’’


print(a)


2) 변수 a에 1을 대입하고, 변수 b에는 2.5를 대입한 후, 변수 a와 b가 어떤 종류의 변수인지 확인해 볼 수 있게 코딩해 보자.

a=1


b=2.5


print(type(a))


print(type(b))


생각해 보기

1) “파이선 프로그래밍은 재미있어요.”라고 선생님이 말씀하셨어요.가 출력되게 해 보자.

2) 변수 a에는 “3”, 변수 b에는 3을 대입하고, 변수 a와 b가 어떤 종류의 변수인지 확인해 보자.

3) 변수 c에는 나의 이름을, 변수 d에는 나의 키를 대입하고, 예시처럼 출력되게 해 보자.

○○○(이름), ○○○(키)cm