본문 바로가기

Python

[Python3] 제어문 관련 정리

반응형

조건문

if문 기본 구조

if 조건문:
    ...
    do1()
elif 조건문:
    ...
    do2()
else:
    ...
    do3()
  • 조건문 안에 있는 코드들은 중괄호가 아닌 들여쓰기로 구분한다.

  • 최근 파이썬 커뮤니티에서는 들여쓰기를 할 때 Tab 보다는 Spacebar 4개를 사용하는 것을 권장한다.

  • 예시

    money = 2000
    card = True
    if money >= 3000 or card:
        print("택시를 타고 가라")
    else:
        print("걸어가라")

x in s, x not in s

  • s라는 객체(리스트, 튜플, 문자열)에 x라는 변수가 있는지 없는지에 대한 결과를 출력해주는 조건문

    print(1 in [1, 2, 3])
    print(1 not in [1, 2, 3])
    
    pocket = ['paper', 'cellphone', 'moeny']
    if 'money' in pocket:
        print("택시를 타고 가라")
    else:
        print("걸어가라")
    
    ################ RESULT #################
    True
    False
    걸어가라
  • 조건문에서 아무 일도 하지 않게 설정하고 싶을 때는 pass 키워드를 사용한다.

    pocket = ['paper', 'money', 'cellphone']
    if 'money' in pocket:
        pass
    else:
        print("카드를 꺼내라")

조건부 표현식

if score >= 60:
    message = "success"
else:
    message = "failure"

### 위와 같은 조건문을 조건부 표현식으로 다음과 같이 바꿀 수 있다. ###
message = "success" if score >= 60 else "failure"

### 다음과 같은 문법이다.
조건문이 참인 경우 if 조건문 else 조건문이 거짓인 경우

 

 

while문

while문 기본 구조

while <조건문>:
    do1
    do2
    do3
    ...
  • 예시1

    treeHit = 0
    while treeHit < 10:
        treeHit = treeHit + 1
        print("나무를 %d번 찍었습니다." % treeHit)
        if treeHit == 10:
            print("나무 넘어갑니다.")

  • 예시2

    prompt = """
    1. Add
    2. Del
    3. List
    4. Quit
    
    Enter number : """
    
    number = 0
    while(number != 4) :
        print(prompt)
        number = int(input())

  • 예시3

    coffee = 10
    while True:
        moeny = int(input("돈을 넣어 주세요: "))
        if money == 300:
            print("커피를 줍니다.")
            coffee = coffee - 1
        elif money > 300:
            print("거스름돈 %d를 주고 커피를 줍니다." % (money - 300))
            coffee - coffee - 1
        else:
            print("돈을 다시 돌려주고 커피를 주지 않습니다.")

  • 예시4

    a = 0
    while a < 10:
        a = a + 1
        if a % 2 == 0: continue
        print(a)

 

for문

  • 예시1 : 전형적인 for

    test_list = ['one', 'two', 'three']
    for i in test_list:
        print(i)
  • 예시2 : 다양한 for문의 사용

    a = [(1,2), (3,4), (5,6)]
    for(first, last) in a :
        print(first + last)
    
    ####### RESULT ########
    3
    7
    11
  • 예시3 : 응용

    • 총 5명의 학생이 시험을 보았는데 시험 점수가 60점이 넘으면 합격이고 그렇지 않으면 불합격이다. 이 학생들의 결과를 표시해라.
    grades = [90, 25, 67, 45, 80]
    
    number = 0
    for grade in grades:
        number = number + 1
        if grade >= 60:
            print("%d번 학생은 %d점이므로 합격입니다." %(number, grade))
        else:
            print("%d번 학생은 %d점이므로 불합격입니다." %(number, grade))

  • 예시4 : for문과 자주 사용하는 range 함수

    add = 0
    for i in range(1, 11): #1이상 11미만
        add = add + i
    print(add)
    
    grades = [90, 25, 67, 45, 80]
    for number in range(len(grades)):
        if grades[number] < 60:
            continue
        print("%d번 학생은 합격입니다." % (number+1))
    
    ########### RESULT ###########
    55
    1번 학생은 합격입니다.
    3번 학생은 합격입니다.
    5번 학생은 합격입니다.
  • 예시5 : 리스트에 내포한 for

    a = [1, 2, 3, 4]
    result = [num * 3 for num in a]
    print(result)
    
    ########### RESULT ###########
    [3, 6, 9, 12]

     


반응형

'Python' 카테고리의 다른 글

[Python3] Collection 모듈 내 Counter 관련  (0) 2020.03.17
[Python3] 함수 관련 정리  (0) 2020.03.15
[Python3] 집합 관련 정리  (0) 2020.03.12
[Python3] 제어문 관련 정리  (0) 2020.03.12
[Python3] Dictionary 관련 정리  (0) 2020.03.11