관리 메뉴

"게임 개발자"를 향한 매일의 공부일지 _ 1기

조건문 진실 혹은 거짓 3 - 조건문과 if-elif-else 문 본문

프로그래밍 언어/파이썬

조건문 진실 혹은 거짓 3 - 조건문과 if-elif-else 문

huenuri 2024. 8. 1. 10:05

조금 전에 1시간 운동을 땀 흘리게 열심히 하고 샤워도 하고 나니 정말 개운하니 좋았다. 줄넘기도 열흘 넘게 하지 않았다니 했는데 실력이 하나도 녹슬지 않고 오히려 더 잘되는 걸 느꼈다.
이제 다시 공부를 시작해 본다. 1시간 20분 안에 2주 차 수업 학습을 모두 마치려고 한다. 그럼 바로 시작해 보자. 


 

 

 

 

1. 이론 5 - 조건문

 

컴퓨터에서도 분기를 나눌 경우가 생긴다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


조건을 쓸때 옆에 콜론을 꼭 찍어줘야 한다. 조건이 참이면 출력하고 그렇지 않으면 조건절을 넘어간다.

 

 

 

 

 

 


들여 쓰기를 하지 않으면 if문 안에 들어있지 않은 것으로 생각한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

알파벳이 모음인지 자음인지 판별하는 조건이 있다고 할 때 if, else문으로 쉽게 작성할 수 있다.


 

 

 

 

2. 퀴즈 5 : 조건문

 

 

 


 

 

3. 실습 5 : 홀수 짝수 판별기

 

 

정수를 입력 받고 그 값을 저장해야 한다.

num = input()
num = int(num)

 

num은 숫자형으로 변환해야 하므로 int를 써주고, 이 두줄을 줄여서 다음과 같이 쓸 수 있다.

num = int(input())

 

이 두가지 방법 중 더 편한 방법으로 써도 된다.

 

 

 

 

이제 문제를 풀어보았다.


 

 

else에서는 조건을 쓰지 않는다는 것에 주의하자. 조건을 써서 실행하니 애러가 뜬다.

그리고 입력을 숫자로 변형하는 것이 조금 어려운데 2번이나 틀렸다.
처음에는 이렇게 썼다.

 

num = input(int(num))

 

바꾸서 쓴 것이다. 두 번째도 틀렸는데, 괄호 안에 변수를 넣는 게 아니라 비워둔다는 것을 알게 되었다. 이렇게 자주 틀려보면서 어떤 게 맞는 답인지 찾아가는 것도 정말 중요하다.
무조건 옳은 답만을 암기하지 않고 혼자서 생각하면서 코딩을 공부하는 것이 좋을 것 같다.

세 번째도 틀렸는데 그 이유를 알았다. 파이썬에서는 if문 사용할 때 반드시 콜론을 찍어야 한다. 이 부분이 많이들 틀린다고 한다. 그리고 else에도 콜론이 들어간다는 것을 잊지 말자!!
C나 C++에서는 switch 구문에서나 썼지 if문에서는 사용하지 않았었다.

 

 

 

 

이제 네번째만에 드디어 맞았다.


 

 

 

 

4. 이론 6 : if-elif-else 문

 

가운데 조건이 필요할 때 elif를 사용한다. C나 C++에서 else if를 파이썬에는 줄여서 elif라고 쓰고 있다.

 

 

 

 

 

 

1을 만족하지 못하면 2를 실행한다.

 

 

 

 

 


 

 

 

 

5. 퀴즈 6 : if-elif 문

 

 

 

 

조금 전에 나도 실수했던 부분이었다. 이번에는 쉽게 맞추었다~


 

 

 

 

6. 퀴즈 7 : if-elif-else 문

 

 

 

 

여기서 조건이 하나씩 생략된다는 것도 전에 다 배워서 알고 있다.


 

 

 

 

7. 실습 6 : 업 다운 게임

 

 

이 문제는 별로 어렵지 않아 해설은 생략하고 바로 문제로 들어가 본다.

 


 

문제 풀기

 

문제를 풀었는데 이상하게도 syntaxError가 뜬다. 입력하라는 공간도 안 나오고..

 

 

 

 

틀린 이유를 찾았다. 처음에 변수를 선언할 때 int를 써주었는데 그렇게 하니까 오류가 난다. 왜냐하면 앞에서 int형이라고 하면, int형으로 변환을 해주는 까닭이 없어지기 때문인 것 같다.

잘은 모르겠지만, 파이썬은 다른 언어에 비해 생략이 많아 난해한 부분도 있었다.


 

 

 

 

학습을 마치고

드디어 모든 학습이 다 끝났다. 이제 if 조건문을 사용해서 프로그램을 짤 수도 있겠다. 아직 연습문제가 남았는데 분량이 많으니 여기서 포스트를 마감한다.
다음 포스트에 이어서 남은 문제를 풀고 이제 나갈 준비를 해야겠다. 10분밖에 안 남아서 서둘러야겠다~