본문 바로가기

[부트캠프] IT 코딩 부트캠프 후기/[Let's TIL😶‍🌫️] FastCampus

[Let's TIL✍️] 초격차 패키지 (Python web) _ PART 1. 제어문 : 조건문과 실습

오늘은 제어문 part에서 조건문 부분을 배운다. 

 


CH 5. 제어문

프로그래밍에서 가장 중요한 부분이니 숙지하자!



01. 조건문 


학습목표

- 제어문을 사용하는 이유와 종류
- 조건문의 개념
- if문 사용법


제어문을 사용하는 이유?

: 프로그램은 기본적으로, 위에서 아래로 순차적으로 실행!

but 경우에 따라 다르게 실행하고 싶다면?

- 명령 A,B 중 한 개를 선택해 실행하고 싶으면 : 조건문
- 명령들을 반복해서 실행하고 싶을 때 : 반복문

>> 이때 조건문과 반복문을 합쳐서 = 제어문 이라고 한다.



조건문의 개념 

 

if문 사용법 (with 파이썬 code)

 origin_pass라는 변수에 기존 비밀번호를 담고, 
input_pass에 1234 담기,
if 비교연산[origin_pass == input_pass] :
 print("로그인 성공")


이때 : (콜론)은 if의 명령 블록이 실행된다는 것이고, 
들여쓰기는 명령 블록이 들어가는 것을 가시적으로 확인하기 위하여 들어가야 한다!


>> 두 개의 data가 똑같다면(if), if 안쪽으로 들어가서 "로그인 성공"이라는 메시지를 출력(print)하라는 프로그래밍.


조건문 실습 예시

# 조건문 : 조건에 따라 실행할 명령이 달라지는 것

origin_pass = "1234"
input_pass = input("패스워드를 입력하세요 >>>")

if input_pass == origin_pass :   # 조건 A
    # 조건 A가 참
    print("로그인 성공!")       
    print("반갑습니다.")
elif input_pass == "" :          # 조건 B
    # 조건 A 거짓, 조건 B 참
    print("아무것도 입력하지 않았습니다.")
else :
    # 조건 A가 거짓, 조건 B도 거짓일 경우
    print("로그인 실패!")
    print("비밀번호를 확인하세요.") 

 




조건문 실습문제 풀기


실습문제 5.1.1
input 함수, if, elif, else 사용하기


like = "1200"
income = input("현재 구독자 수를 입력하세요 >>>")

if like == income :
print("수익 창출이 가능합니다!")
else :
 print("수익 창출이 불가능합니다!")


풀이 )
이때 한 줄의 코드를 작성하고, 
이를 print 해서 제대로 나오는지 보면서 작성하는 것도 좋다. (오류를 잡기 쉬움)


# 풀이

 


sub_count = int(input("현재 구독자 수를 입력하세요 >>>"))

if sub_count >= 1000 :
    print("수익 창출이 가능합니다!")
else :
    print("수익 창출이 불가능합니다!")



비교 연산자만을 활용해서 조건문을 완성한 것

& input이 str로 변환되므로 int에 넣어주는 것을 새로 배웠다. 

(정수형 타입으로 변환)

 

 




실습문제 5.1.2
input, if, elif, else 사용


time = int(input("공부시간을 입력하세요(시간) >>>"))

if time >= 10 :
print("휴대폰 잠금이 해제 됩니다.")
elif time >= 5 :
print("휴대폰을 30분간 사용가능 합니다.")
else :
print("휴대폰 사용이 불가능합니다.")

이번엔 한 번에 맞게 작성했다. 

 


else, elif, if의 범위 (그림판)



실습문제 5.1.3

가진 금액을 통해 먹을 수 있는 음식 출력하는 프로그램 
input, 조건문



money = int(input("현재 가진 금액을 입력 >>>"))

if money >= 20000 :
print("치킨")
elif money >= 10000 :
print("떡볶이")
else :
print("편의점 김밥")


이번에는 문제에 있는 지문을 제대로 입력하지 않았고, 특히 조건 하나를 빠뜨리는 실수..
마지막에 자세히 보면 2000원 이상이라는 조건문이었다. (나머지 else가 아님.)


# 풀이

money = int(input("현재 가진 금액을 입력 >>>"))

if money >= 20000 :
print("오늘 저녁은 ... 치킨!")
elif money >= 10000 :
print("오늘 저녁은 ... 떡볶이!")
elif money >= 2000 :
print("오늘 저녁은 ... 편의점 김밥!")

if 문 사용시
# if만 써도 되고
# if - else 
# if - elif  (else 생략 가능)
# if - elif - else




실습문제 5.1.4
프로그램 오류로 80점 이상일 경우 불합격 표시, 
단 0-100 사이 숫자가 아닌 경우 "잘못 입력하였습니다." 표시하기



korean = input("국어 >>>")
math = input("수학 >>>")
english = input("영어 >>>")

if korean = input("국어 >>>"), math = input("수학 >>>"), english = input("영어 >>>") >= 80 :
print ("불합격")
elif korean = input("국어 >>>"), math = input("수학 >>>"), english = input("영어 >>>") >= 100 :
print ("잘못 입력하였습니다.")
elif korean = input("국어 >>>"), math = input("수학 >>>"), english = input("영어 >>>") <= 0 :
print ("잘못 입력하였습니다.")
else :
print ("합격")


처음 시도는 실패. 구글링 후 재도전


korean = int(input("국어 >>>"))
math = int(input("수학 >>>"))
english = int(input("영어 >>>"))

if korean >= 80 and math >= 80 and english >= 80:
    print("불합격")
elif korean > 100 and math > 100 and english > 100:
    print("잘못 입력하였습니다.")
elif korean < 0 and math < 0 and english < 0:
    print("잘못 입력하였습니다.")
elif korean <= 80 and math <= 80 and english <= 80:
    print("합격")

 


이번엔 다 잘되는데, 100 이상인 경우, "잘못 입력하였습니다"가 아니라, "불합격"이 나온다.


풀이

1 평균에 따라 합격 불합격 결정하기

우선 값이 올바른지 테스트 , 이때 비교 연산을 동시에 쓸 수 있다. and 논리연산자로 이어줌
if 0 <= korean <= 100 and 0 <= math <= 100 and 0 <= english <= 100 :
    print("값이 올바릅니다.")
else :
    print("잘못 입력하였습니다.")


if 문 안에 if 문 == 중첩조건문

# 방법 1 

조건을 만족할 경우 (바깥 if문)
중첩조건문을 이용해서 합격 불합격을 체크!

if 0 <= korean <= 100 and 0 <= math <= 100 and 0 <= english <= 100 :
    if avg >= 80 :
        print("불합격")
    else :
        print("합격")
else :
    print("잘못 입력하였습니다.")



# 방법 2 
논리 연산자 or 사용하기

if korean < 0 or korean > 100 or math <0 or math > 100 or english < 0 or english > 100 :
    print("잘못 입력하였습니다.")
elif avg >= 80 :
    print("불합격")
else :
    print("합격")

 


오늘의 소감 ✍️

확실히 처음부터 문법 공부를 하게 되니

프로젝트를 만들면서 왜? 했던 부분들이 수긍이 가고, 

이미 사용해 본 if문의 경우 if, elif, else 라는 하나의 짝이자 

else는 생략이 가능하다는 사실도 알게 되었다.