Python 기초 Print와 변수
이제 Python 설치 및 Shell에서 여러 연산도 가능한 것을 확인했습니다.
이제부터는 print함수에 대해서 설명을 하겠습니다.
Print함수는 주어진 객체를 화면에 print 하는 함수입니다. 이 함수를 이용해서 Debug도 많이 하므로 잘 쓸 수 있으면 좋습니다. Python이 전체적으로 Debug 하는 게 다른 것보다 잘 안되어 있다 보니 print를 이용해서 Debug를 하시면 좋습니다.
예를 들어서,
>>print(“Hello World”)의 결과는 Hello World입니다.
>>print(“777”)의 결과는 777입니다.
>>print(“%d” % 777)의 결과는 777입니다.
그런데 여기서 처음 777은 문자의 777의 결과인 것이고, 2번 결과에 나온 777은 숫자 777을 의미하는 것입니다.
>>print(“100 + 100”)의 결과는 100 + 100입니다
>>print(“%d” % (777 + 777))의 결과는 1544가 됩니다.
여러 개 숫자를 print 하고 싶으면 “%d”를 추가해서 쓰시면 됩니다.
>> print("%d %d" %(777,779))
이 내용은 아래에서 더 자세히 설명하겠습니다.
정수 말고 다른 것을 print 하고 싶은 경우는 %d대신 다른 것을 넣으시면 됩니다.
서식 |
설명 |
예시 |
%d |
정수 |
1,3,5 |
%f |
소수점 있는 실수 |
2.1, 3.14 |
%c |
하나 문자 |
“요”, “c” |
%s |
두 글자 이상인 문자들 |
“와썹 맨”, |
>>> print("%d * %d = %d" %(2,3,6))
2 * 3 = 6
print함수 연습
연습을 시작하기 전에 Python3.7.3 Shell에 보시면 File이 있는데, 클릭을 하시고, New File을 클릭합니다.
그러면 위에 처럼 창 한 개가 생성되는 데 코딩 작업을 여기서 하시면 좋습니다. 이유는 Shell에서 작업하는 것은 따로 저장을 할 수 없기 때문에, 이렇게 Script를 쓰고 저장해서 사용하면 언제든지 불러서 코딩을 이어서 계속할 수 있습니다.
문자 |
설명 |
\n |
다음 줄로 이동 (Enter를 누른 효과) |
\t |
다음 탭으로 이동(Tab을 누른 효과) |
\b |
뒤로 한 칸 이동 (Backspace 누른 효과) |
\\ |
\ 출력 |
\’ |
‘ 출력 |
\” |
“ 출력 |
위의 표는 print를 할 때 사용되는 것들입니다.
위에처럼 작성하고 F5를 누르면 아래와 같은 결과를 확인할 수 있습니다.
변수(Variable)
변수라는 것은 그릇이라고 비유를 할 수 있을 것 같습니다. 그릇을 준비해서 거기다가 무언가를 넣기 위해서 준비한다고 보시면 될 것 같습니다.
파이썬의 장점 중 하나는 다른 프로그램과 달리 변수를 선언하지 않아도 되지만, 기본적으로 변수는 미리 생각해서 선언하는 게 올바른 방법입니다.
변수명 규칙
1. 대소문자 구분한다.(MyVariable 하고 myvariable은 다른 변수입니다.)
2. 문자 숫자 언더바(_)를 포함할 수 있지만, 숫자로 이름이 시작되면 안 됩니다.
(예시 : MyVariable2, _MyVariable2, MyVariable_2, 는 OK 하지만, 2MyVariable은 안됨)
3. 예약어(이미 프로그램적으로 이름을 정한 것들)는 사용이 안됩니다.
예약어 예시
False, class, finally, is, return, None, continue, for, lambda, try, True, def, from, nonlocal, while, and, del, global, not, with, as, elif, if, or, yield, assert, else, import, pass, break, except, in, raise 등
위에 쓴 예약어와 같은 이름의 변수명을 쓸 수 없습니다. (일단 제가 기억하는 건 이게 다인데, 인터넷 찾으면 더 있습니다. 뭐 위에 있는 것도 다 쓰는 것 아니다 보니 그냥 이런 게 있구나 하고 넘어가면 될 것 같습니다.)
변수(Variable)이라고 하면 저장 공간의 위치를 설명해 줍니다.
변수 안에 정보를 저장하고 프로그램을 통해서 정보를 바꿀 수 있습니다. 여기서 정보는 숫자, 문자, 혹은 다른 타입의 데이터가 될 수 있습니다.
예시
age = 23
age à 변수 명(Variable name)
‘=’ à 지정 연산자(assignment operator)
31 à 정보(Value)
name = “Mary”
name à 변수 명(Variable name)
‘=’ à 지정 연산자 (Assignment operator)
“Mary” à 정보(Value)
sentence_info = “Hello World”
sentence_info à 변수 명(Variable name)
‘=’ à 지정 연산자 (Assignment operator)
“Hello World” à 정보(Value)
지정 연산자(Assignment Operator)
지정 연산자라고 하면 오른쪽 정보(Value)를 왼쪽에 있는 변수(Variable)에 넣는 것을 말합니다.
1. 오른쪽에 표현된 것을 먼저 계산을 하고
2. 계산된 값 혹은 정보를 왼쪽의 Variable에 저장을 합니다.
예시
Score = 3 + 3 + 4 * 2
이 경우, Score에 3이 저장되는 것이 아니라, 3 + 3 + 4 * 2 계산된 값인 14가 Score에 저장됩니다.
깜짝 Quiz
오류가 있는 코드를 확인하고 고쳐보세요.
MyAge = 33
22 = YourAge
print “Python Hello World”
MyAge + YourAge = TotalAge
print(“TotalAge : %d” %TotalAge)
깜짝 Quiz 답
MyAge = 33
YourAge = 22
print(“Python Hello World”)
TotalAge = MyAge + YourAge
print(“TotalAge : %d” %TotalAge)
이 퀴즈에 대해서는 직접 코드를 써보고 무슨 오류가 나오는지 보면 좋습니다. 그래야 다음에 같은 오류가 나왔을 때 뭐가 문제인지 알 수가 있으니까요.
input() 함수
이 함수는 키보드 입력을 string으로 저장해서 return 하는 함수입니다. 고객(User)들의 입력을 받을 때 주로 사용되는 함수입니다. 아마 코딩 숙제를 하다 보면 많이 사용되는 함수 중 하나입니다.
예시
MyName = input(“Name : ”)
print(MyName)
깜짝 Quiz
고객으로 이름을 정보로 받고, 이름에 좋은 아침인사를 하는 코드를 해보세요.
깜짝 Quiz 답
MyName = input(“Nmae : ”)
print(“안녕하세요. %s님. 좋은 아침입니다.” %MyName)
print를 이용한 변수 예시
위에 처럼 작성하면 아래와 같은 결과를 확인할 수 있습니다.
Python에서 사용 가능한 숫자 데이터 타입(Type) (당연히 다들 아시겠지만 혹시나 해서 추가했습니다.)
1. 정수 : int(signed integers)
- 양수 혹은 음수가 그리고 0까지 포함이 되는데 소수점 자리 가 없는 수를 뜻합니다.
2. 실수 : float
- 실수로 양수와 음수를 가지는데, 소수점이 존재하는 수를 뜻합니다.
3. 허수 : complex numbers
- a + bj로 a와 b는 float으로 이루어져 있고, j는 허수를 의미합니다.
허수 사용 예시
깜짝 Quiz
고객으로부터 정수의 값을 받고, 그 값을 제곱을 해서 print를 하세요.
Print를 할 때에는 완전한 문장이 되도록 하세요.
깜짝 Quiz
총대각선을 찾는 코드를 만드세요. 고객으로부터 총 몇 개 면을 가진 도형인지 물어보고, 그 수의 면을 가진 도형은 총얼마만큼 대각선을 가지고 있는지 print 하시면 됩니다. (정수로 총 면의 수를 받으시면 됩니다.)
힌트. 여기서 n은 도형의 총 면 수
대각선의 수= n(n-3)/2
깜짝 Quiz 답
코딩하는 방법은 여러 가지입니다. 꼭 제가 한 것과 똑같이 쓸 필요는 없습니다. 방법은 여러 가지가 존재하니까요. 결국 결과가 잘 나왔는지 확인을 하시면 됩니다.
깜짝 Quiz
고객한테 반지름을 물어보고, 그 반지름을 가지는 원의 넓이를 print 하는 코드를 만드세요.
힌트 이 경우 float을 고객으로부터 받으면 됩니다. 그리고 π값을 직접 지정해서 사용하면 됩니다.
코딩하는 방법은 여러 가지입니다. 꼭 제가 한 것과 똑같이 쓸 필요는 없습니다. 방법은 여러 가지가 존재하니까요. 결국 결과가 잘 나왔는지 확인을 하시면 됩니다.
데이터 타입(type) 변형
float()의 함수는 어떤 숫자라도 실수로 변형하는 함수입니다. 그러면 int() 함수는 정수로 변형하는 함수이겠죠?
예시
마지막 Quiz 조금 생각을 해야 하는 문제입니다.
많이 나오는 문제입니다. 당신은 회사로부터 동전으로 바꿔주는 기계를 만들라는 주문을 받았습니다. 이 동전 바꾸는 기계는 동전 500, 100, 50, 10, 1, 원의 동전으로 바꿔주는 기계입니다. 이 기계의 특징은 고객이 넣는 금액을 최소의 동전 수로 바꿔서 주는 기계입니다. 이 기계를 만들어보세요. 이런 종류의 문제는 print와 변수 설명이 끝나면 마지막으로 잘 물어보는 문제입니다. 나름 생각이라는 것을 해야 하고, 충분히 간단히 코드를 만들 수 있기 때문입니다.
힌트 : 최소의 동전의 수를 만들라는 것에서 당황을 할 수 있는데, 이게 결국 의미하는 것은 가장 큰 액수의 동전으로 바꾸고 그다음 액수의 동전으로 바꾸고 이런 식으로 하라는 얘기입니다. 컴퓨터 코딩을 하면서 좋은 점 중 하나가 나머지 값을 찾아주는 연산자가 있습니다. %를 이용해서 하시면 됩니다.
코딩하는 방법은 여러 가지입니다. 꼭 제가 한 것과 똑같이 쓸 필요는 없습니다. 방법은 여러 가지가 존재하니까요. 결국 결과가 잘 나왔는지 확인을 하시면 됩니다.
'Python' 카테고리의 다른 글
05. Python기초 문자열과 함수 (0) | 2019.06.21 |
---|---|
04. Python기초 리스트 튜플 딕셔너리 (0) | 2019.06.20 |
03. Python 기초 데이터 구조 리스트와 제어문 반복문 (0) | 2019.06.19 |
02. Python기초 연산 및 제어문 if-else (0) | 2019.06.18 |
00. Python 3.7.3 윈도우에 설치 및 제거 (0) | 2019.06.16 |