ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 02-2.조건문과 반복문
    파이썬 2023. 8. 27. 18:53

    1. 조건문

    - 특정 조건에 따라서 코드를 실행하고자 할때 사용
    * if
    * else
    * elif
    * 삼항연산자

    1-1. if

    - 특정 조건에 따라서 코드를 실행시키고 싶을 때 사용

    if <condition>:
        <code_1>
    state = True
    if state:
        print("if")
    print("done")

    ->if
    done

    state = False
    if state:
        print("if")
    print("done")

    ->done

    money = 10000
    if money >= 30000:
      print('고기를 산다')
    if money <= 30000:
      print('고기를 못 산다')

    ->고기를 못 산다


    1-2. else

    if <condition>:
        <code_1>
    else:
        <code_2>
    state = False
    if state:
      print('if')
    else:
      print('done')

    ->done

    money = 10000
    if money >= 30000:
      print('고기를 산다')
    else:
      print('고기를 못 산다')

    ->고기를 못 산다


    1-3. elif

    - 조건이 여러 개로 구분해서 코드를 실행할 때 사용
    - condition_1이 True이면 code_1이 실행, condition_2가 True이면 code_2가 실행
    - condition_1과 condition_2가 False이면 code_3이 실행

    if <condition_1>:
        <code_1>
    elif <condition_2>:
        <code_2>
    else:
        <code_3>
    a, b = 40, 40
    if a<b:
      print('a<b')
    if a==b:
      print('a==b')
    if a>b:
      print('a>b')

    ->a==b

    a, b = 40, 40
    if a<b:
      print('a<b')
    elif a==b:
      print('a==b')
    else:
      print('a>b')

    ->a==b

    num = 0
    
    if num:
      print('python_1')
    
    num = 1 # 0을 제외하고 다 True
    
    if num:
      print('python_2')

    ->python_2


    1-4. 삼항연산자

    - 간단한 if, else 구문을 한 줄의 코드로 표현할 수 있는 방법

    A if (조건) else B
    # data 변수에 0이면 "zero" 출력, 아니면 "not zero" 출력
    
    data = 1
    if data:
        print("not zero")
    else:
        print("zero")
    

    ->not zero

    data = 0
    result = "not zero" if data else "zero"
    result

    ->'zero'

    # 1: male, 2: female
    data = 1
    result = 'male' if data == 1 else 'female'
    result

    ->male


    2. 반복문 : Loop

    - 반복되는 코드를 실행할 때 사용
    - while : 조건을 확인해서 조건이 True인 경우에 while문 안에 코드가 반복적으로 실행되는 것
    - break : 반복문 중간에 있을 경우 해당 조건은 블록을 탈출하거나 반복문 자체를 탈출한다
    - continue : 해당 조건문 블록을 탈출하여 아래 명령문을 실행하지 않고, 다음 반복문 실행 절차를 수행한다
    - for : list와 같은 순서가 있는 데이터 집합을 사용해서 그 데이터의 갯수만큼 실행되는 것
    - list comprehension

    2-1.while

    while <condition>:
        <code>
    data = 3
    while data:
        print(data)
        data-=1
    data

    ->3
    2
    1
    0


    2-2.break

    - 반복문이 실행되어 중간에 break를 만나게 되면 반복문이 종료된다

    # 무한루프
    result = 1
    while result:
        print(result)
        if result >= 9:
            break
        result += 1
    print(result)

    ->1
    2
    3
    4
    5
    6
    7
    8
    9
    9


    2-3.continue

    - 순서가 있는 데이터 집합(iterable: 리스트, 튜플)에서 값을 하나씩 꺼내서 변수에 대입시킨 후 데이터 갯수만큼 for 구문 안에 있는 코드를 실행

    for <변수> in <순서가 있는 데이터 집합>:
        <code>
    ls = [0,1,2,3,4]
    for data in ls:
        print(data, end=", ")

    ->0, 1, 2, 3, 4,

    ls = [0,1,2,3,4]
    for data in ls:
        if data % 2:
            continue
        print(data, end=" ")

    ->0 2 4

    dic = {"A":1, "B":2}
    for key in dic:
        print(key)

    ->A
    B

    dic.items()

    ->dict.items([('A', 1), ('B', 2)])

    for key, value in dic.items():
        print(key, value)

    ->A 1
    B 2


    1.range

    - list를 간편하게 생성해주는 함수
    - 함수 : 코드의 집합을 실행시켜주는 방법

    range(end)
    range(start, end)
    range(start, end, stride)
    ls = [1,2,3]
    first(range(1,4))

    ->[1, 2, 3]

    result = 0
    for data in range(10):    # 0~9까지의 합
        result += data
    result

    ->45

    list(range(5))

    ->[0, 1, 2, 3, 4]

    list(range(5,10))

    ->[5, 6, 7, 8, 9]

    list(range(10,0,-2))

    ->[10, 8, 6, 4, 2]


    2.enumerate

    - 리스트 데이터의 index와 value값을 동시에 사용할 수 있게 해주는 함수

    subjects = ["korean", "english", "math", "science"]
    number = 1
    for subject in subjects:
        print(number, subject)
        number += 1

    ->1 korean
    2 english
    3 math
    4 science

    list(enumerate(subjects))

    ->[(0, 'korean'), (1, 'english'), (2, 'math'), (3, 'science')]

    for idx, subject in enumerate(subjects):
        print(idx+1, subject)

    ->1 korean
    2 english
    3 math
    4 science


    4.zip

    - n개의 리스트를 같은 index끼리 묶어주는 함수

    subjects = ["korean", "english", "math", "science"]
    points = [40,46,70,80]
    list(zip(subjects, points))

    ->[('korean', 40), ('english', 46), ('math', 70), ('science', 80)]

    result = {}
    for subject, point in zip(subjects, points):
        result[subject] = point
    result

    ->{'korean': 40, 'english': 46, 'math': 70, 'science': 80}


    5.random

    import random
    random.randint(1, 10)

    ->7

    random.choice([1,5,9])

    ->9


    6.List Comprehension

    - 리스트 데이터를 만들어주는 방법
    - for문보다 빠르게 동작합니다

    ls = [0,1,2,3]
    result = []
    
    for data in ls:
        result.append(data**2)    # **n : n제곱
    result

    ->[0, 1, 4, 9]

    result = [data**2 for data in ls]
    result

    ->[0, 1, 4, 9]

    ls = [0,1,2,3]
    
    result = ["홀수" if data%2 else "짝수"
                for data in ls
    ]
    result

    ->['짝수', '홀수', '짝수', '홀수']

    '파이썬' 카테고리의 다른 글

    02-4. 클래스와 예외처리  (0) 2023.08.28
    02-3. 함수  (0) 2023.08.27
    02-1. 파이썬 기초  (0) 2023.08.21
Designed by Tistory.