Python

Chapter 4 : Python - if, for, while, continue and break

Dev.sleep_soo 2024. 1. 12. 00:39

안녕하세요 오늘은 파이썬의 조건문 if반복문 for, while을 공부했습니다.
오늘 내용은 그래도 지금까지 했던 기초적인 내용보다
아주 조금은 더 코딩다운 내용인 것 같아 재밌었습니다 ㅎ


조건문 if

if는 영단어를 번역하면 만약에 라는 뜻인데
파이썬에도 그런 느낌으로 쓰입니다.
만약 ~~라면 ~~한다. 라는 구조를 가지고 있다고 생각하면 되는데
예제코드를 적어놓겠습니다.

born = input("딸을 낳고 싶으세요 아들을 낳고 싶으세요? ")
if born == "딸" or born== "아들":
    print("잘 기르세요!")
elif born == "쌍둥이":
    print("힘드시겠어요ㅠ")
else:
    print("잘못 입력하셨습니다.")

score = int(input("시험점수는 몇점인가요? "))
if score == 100 :
    print("완벽해요! 대단하군요.")
elif 90 <= score and score < 100:
    print("잘했어요, 공부를 열심히 하셨군요.")
elif 70 <= score < 90:
    print("나쁘지 않아요, 고생했습니다.")
else:
    print("분발해야겠어요, 더욱 열심히 공부해 보아요.")


born == "딸“ or born == "아들” 이렇게 작성해놨지만
다른 줄의 코드를 보면 알 수 있듯이
born == "딸“ or ”아들“ 이런 식으로 작성해도 됩니다.

if : 만약 ~~라면(조건)
else : 그렇지 않다면(if에서의 조건이 충족되지 않을때)
elif : 그게 아니라 ~~라면(if절의 조건은 충족x 이지만 또다른 조건을 부여)

여기서 주의할점. “같다” 라는 의미에서 비교차원으로 사용할땐 ==을 쓰고
변수에 저장하는 용도처럼 사용할때는 등호 하나만 사용!
if 조건을 적을 후에는 반드시 콜론(:)을 적어주기!


반복문for

for rewards in [0, 1000, 2000, 3000, 4000]:
    print("순차적 보상 : {}".format(rewards))

for zero_to_four in range(5):
    print("0부터 4까지 : {}".format(zero_to_four))

starbucks = ["맥북", "삼성", "LG"]
for laptop in starbucks:
    if laptop == "맥북":
        print("맥북을 사용하는 군요. 합격입니다.")
    else:
        print("{}노트북을 사용하시네요. 나가주세요.".format(laptop))


range() 함수가 사용되었네요
range(5)는 0부터 4까지의 정수를 나타냅니다.
위의 예제 코드처럼 for문에서 바로 변수를 선언하면서 사용할 수도 있고
for문if문을 혼합하여 새로운 코드를 작성하기도 합니다.
아직 배운지 얼마 안됐지만 나중엔
창의적인 아이디어로 다양한 기능을 만들 수 있을 것 같은 부분이네요:)

예제코드 출력결과


반복문 while

customer = input("이름을 입력해 주세요.")
number = 5
while number >= 1:
    print("{}님, 커피가 준비 되었습니다. {} 번 남았어요.".format(customer, number))
    number -= 1
    if number == 0:
        print("커피가 폐기처분 되었습니다.")


while문은 조건이 참인 동안에만 내용을 반복하는 구문입니다.
예제코드처럼 5번만 반복하고 싶으면 변수에 5를 저장하고
대입 연산자로 1씩 빼면서 조건은 변수 1보다 크거나 같을 때로 하면 되겠죠?

예제코드 출력결과

customer = input("이름을 입력해 주세요.")
index = 1
while index < 4:
    print("{}님, 커피가 준비되었습니다. 호출 {}회".format(customer, index))
    index += 1
    if index >= 4:
        print("커피 갖다 버렸다.")


이렇게도 조건과 증감을 아까 그 예제와 반대로도 사용할 수 있습니다!
조건을 index가 4보다 작을 때라고 했고 대입 연산자로 1씩 더했죠?
index가 1, 2, 3일때만 반복이 되고 4가 되는 순간 탈출하는 겁니다.

예제코드 출력결과

continue와 break


continue는 반복문을 끝내지 않고 또 반복을을 돌게하는 역할이며
break는 반복문을 중단하고 탈출하도록 하는 역할을 합니다.

ranking_top3 = [1, 2, 3]
normal = [4, 5, 6, 7]
loser = [8, 9, 10]
for participator in range(1, 11):
    if participator in ranking_top3:
        continue
    elif participator in normal:
        print("{}등! 아쉽지만 순위권에 들지 못하였으므로 귀국하셔야 합니다..".format(participator))
        continue
    else:
        print("하위권이시네요, {}등부터는 지옥훈련이 준되어있습니다.".format(participator))
        break


어떤 대회의 등수에 따라서 출력값을 다르게 나타내는
코드를 한번 작성해 보았습니다.
(예제를 위한 코드 작성이니 굳이 왜 반복문을 썼는지는 따지지 않기...ㅎㅎ)

예제코드 출력결과

여기서 잠깐, break를 빼먹으면?

ranking_top3 = [1, 2, 3]
normal = [4, 5, 6, 7]
loser = [8, 9, 10]
for participator in range(1, 11):
    if participator in ranking_top3:
        continue
    elif participator in normal:
        print("{}등! 아쉽지만 순위권에 들지 못하였으므로 귀국하셔야 합니다..".format(participator))
        continue
    else:
        print("하위권이시네요, {}등부터는 지옥훈련이 준되어있습니다.".format(participator))
예제코드 출력결과

else 문에서 break가 걸리지 않았기 때문에
다시 for문으로 particopator에 9가 저장된 채로 if, elif, else를 타게 됩니다.
그래서 지혹훈련 한다는 문장이 3번 출력되었네요.
지금같은 예시야 “부터는” -> “은” 으로 바꾸면 깔끔해지지만
상황에 따라 꼭 break가 필요할 수 있으니 기억해 두겠습니다!


오늘은 조건문과 반복문을 기록해보았는데요
생각보다 더 재밌었어요! 나름 코드짜는 전략이 싹튼달까..ㅎㅎ
다음 공부도 더 재밌게 할 수 있을 것 같네요 오늘은 여기까지!

출처 : https://youtu.be/kWiCuklohdY
필자는 해당 링크 영상을 통해 학습하였으나,
포스팅 내용 및 설명은 영상과 다를 수 있음을 알립니다.