2 minute read

📢Key Words: 자료형, 제어문, 함수
점프 투 파이썬을 참고한 내용 정리

2. 제어문

01. if문

  • if문은 왜 필요할까?
    • 조건을 판단한 후 그 상황에 맞게 처리해야 할 경우
      >>> money = True
      >>> if money:
      ...     print("택시를 타고 가라")
      ... else:
      ...     print("걸어 가라")
      ...
      택시를 타고 가라
      
  • if문의 기본 구조

  • 들여쓰기
    • if문을 만들 때는 if 조건문: 바로 아래 문장부터 if문에 속하는 모든 문장에 들여쓰기(indentation)를 해주어야 한다.
    • 탭이나 공백은 프로그램 소스에서 눈으로 보이는 것이 아니기 때문에 혼용해서 쓰면 오류의 원인이 되니 주의
    • [조건문 다음에 콜론(:)을 잊지 말자!]
  • 조건문이란 무엇인가?
    • 참과 거짓을 판단하는 문장
    • 비교연산자(<, >, ==, !=, >=, <=)
    • and, or, not
    • x in s, x not in s => 파이썬에서만 존재
    • 조건문에서 아무 일도 하지 않게 설정
      >>> if 'money' in pocket:
      ...     pass 
      
  • 다양한 조건을 판단하는 elif
    • 다중 조건 판단
      >>> pocket = ['paper', 'cellphone']
      >>> card = True
      >>> if 'money' in pocket:
      ...      print("택시를 타고가라")
      ... elif card: 
      ...      print("택시를 타고가라")
      ... else:
      ...      print("걸어가라")
      ...
      택시를 타고가라
      
    • 수행할 문장이 한 줄일 때 조금 더 간략하게 코드
      >>> pocket = ['paper', 'money', 'cellphone']
      >>> if 'money' in pocket: pass
      ... else: print("카드를 꺼내라")
      
  • 조건부 표현식
    • 한줄로 표현
      message = "success" if score >= 60 else "failure"
      
    • 조건문이 참인 경우 if 조건문 else 조건문이 거짓인 경우

      02. while문

  • while문의 기본 구조
    while <조건문>:
      <수행할 문장1>
      <수행할 문장2>
      <수행할 문장3>
      ...
    
  • while문 만들기

  • while문 강제로 빠져나가기
    • 판매를 강제로 멈추게 하는 것이 바로 break문
  • while문의 맨 처음으로 돌아가기
    • while문을 빠져나가지 않고 while문의 맨 처음(조건문)으로 다시 돌아가게 만들고 싶은 경우
      >>> a = 0
      >>> while a < 10:
      ...     a = a + 1
      ...     if a % 2 == 0: continue
      ...     print(a)
      ...
      1
      3
      5
      7
      9
      
  • 무한 루프
    while True: 
      수행할 문장1 
      수행할 문장2
      ...
    

03. for문

  • for문의 기본 구조
      for 변수 in 리스트(또는 튜플, 문자열):
      수행할 문장1
      수행할 문장2
      ...
    
  • 예제를 통해 for문 이해하기
    >>> a = [(1,2), (3,4), (5,6)]
    >>> for (first, last) in a:
    ...     print(first + last)
    ...
    3
    7
    11
    
    marks = [90, 25, 67, 45, 80]
    
    number = 0 
    for mark in marks: 
      number = number +1 
      if mark >= 60: 
          print("%d번 학생은 합격입니다." % number)
      else: 
          print("%d번 학생은 불합격입니다." % number)
    
  • for문과 continue
    • continue문을 for문에서도 사용할 수 있다.
      marks = [90, 25, 67, 45, 80]
      number = 0 
      for mark in marks: 
        number = number +1 
        if mark < 60:
            continue 
        print("%d번 학생 축하합니다. 합격입니다. " % number)
      
  • for문과 함께 자주 사용하는 range 함수
    • range(10)은 0부터 10 미만의 숫자를 포함하는 range 객체
  • 리스트 내포 사용하기
    • 리스트 안에 for문을 포함하는 리스트 내포(List comprehension)를 사용하면 좀 더 편리하고 직관적인 프로그램을 만들 수 있다.
    • 리스트에 무언가를 반복하며 넣고 싶을 때
    • [표현식 for 항목 in 반복가능객체 if 조건문]
      >>> a = [1,2,3,4]
      >>> result = [num * 3 for num in a if num % 2 == 0]
      >>> print(result)
      [6, 12]
      

04. 연습문제

Summary

개인 공부 기록용 블로그 입니다.