inblog logo
|
parangdajavous
    Python

    [Python] 4. 연산자

    출처: 나도코딩의 파이썬 입문
    김미숙's avatar
    김미숙
    Aug 15, 2025
    [Python] 4. 연산자
    Contents
    산술 연산자비교 연산자논리 연산자연산자의 우선순위변수로 연산하기함수로 연산하기실습 문제: 스터디 날짜 정하기실습 문제: 연산자를 이용해 온도 단위를 변환하는 프로그램 만들기

    산술 연산자

    notion image
    • 정수와 정수를 / 로 나누면 실수가 출력됨
      • 정수로 출력하고 싶으면 // 연산자 사용
        • notion image
    notion image
    • ** 는 앞의 수를 뒤의 수 만큼 거듭 제곱
    • % 는 앞의 수를 뒤의 수로 나눈 나머지
     

    비교 연산자

    • 값을 비교해서 맞으면 True, 아니면 False
    notion image
    notion image
     

    논리 연산자

    • and: 모두 참이면 참
    • or: 하나라도 참이면 참
    • not: 값이 참이면 거짓, 거짓이면 참
    notion image
    • 연산자를 연달아 사용가능
      • a > b > c → a > b and b > c
      • notion image
    • 논리 연산자에서 and와 or는 앞의 연산 결과에 따라 뒤이 연산이 수행되지 않을 수 있는데, 이를 단축평가라고 한다
      • 앞의 연산 결과가 False면 뒤의 연산 결과가 참이건 거짓이건 수행되지 않는다
     

    연산자의 우선순위

    • 우선 순위에 따라 연산 순서가 달라지므로 연산자의 우선 순위 확인 필요
    notion image

    주요 연산자 우선순위

    우선순위
    연산자
    설명
    높음
    [ ] , { } , ( )
    리스트, 딕셔너리, 세트, 튜플
    ↓
    **
    거듭제곱
    ↓
    * , / , // , %
    곱셈, 나눗셈, 정수 나눗셈, 나머지
    ↓
    + , -
    덧셈, 뺄셈
    ↓
    not, in, < , ≤ , >, ≥ , ≠ , ==
    부정, 비교 연산자
    ↓
    and, or
    논리 연산자
    낮음
    =
    대입 연산자
     

    변수로 연산하기

    notion image

    복합 대입 연산자

    • += : 왼쪽 값에 오른쪽 값을 더한 후 왼쪽 값에 대입
      • number = number + 2 → number += 2
    • -= : 왼쪽 값에서 오른쪽 값을 뺀 후 왼쪽 값에 대입
      • number = number - 2 → number -= 2
    • *= : 왼쪽 값에 오른쪽 값을 곱한 후 왼쪽 값에 대입
      • number = number * 2 → number *= 2
    • /= : 왼쪽 값을 오른쪽 값으로 나눈 후 왼쪽 값에 대입
      • number = number / 2 → number /= 2
    • **= : 왼쪽 값을 오른쪽 값으로 거듭제곱한 후 왼쪽 값에 대입
      • number = number ** 2 → number **= 2
    • //= : 왼쪽 값을 오른쪽 값으로 나눈 후 몫을 왼쪽 값에 대입
      • number = number // 2 → number //= 2
    • %= : 왼쪽 값을 오른쪽 값으로 나눈 후 나머지를 왼쪽 값에 대입
      • number = number % 2 → number %= 2
    notion image
    • 정수로 나누기 연산하면 실수 형태가 나오므로 number / 2 이후 부터 실수 형태로 출력됨
     

    함수로 연산하기

    숫자 처리 함수

    주요 숫자 처리 함수
    함수
    의미
    abs(x)
    x의 절대값
    pow(x, y)
    x를 y만큼 거듭제곱한 값
    max( )
    가장 큰 값
    min( )
    가장 작은 값
    round(x, d)
    x를 반올림한 값, d는 표시할 소수점 이하 자릿수. d가 없으면 소수점 이하 첫째 자리에서 반올림한 정수
    notion image
     

    math 모듈

    math 모듈의 숫자 처리 함수
    함수
    의미
    floor( )
    내림
    ceil( )
    올림
    sqrt( )
    제곱근
    • 모듈: 어떤 기능을 하는 코드를 모아 놓은 Python 파일
      • 직접 만들 수도 있고, 이미 만들어져있는 모듈을 가져와서 사용할 수도 있음
        • 이미 만들어져 있는 모듈을 가져와서 사용할려면 from 모듈명 import 기능 구문 추가 필요
        • 기능 부분에 *를 넣으면 모듈 안 모든 기능을 가져다 쓰겠다는 의미
          • * 는 와일드카드 문자로 모든 것을 지칭할때 사용
        • import 모듈명 으로 작성하면 기능 앞에 기능이 속한 모듈명을 점( . )으로 연결해서 적어야함
    notion image
    notion image
     

    random 모듈

    • 숫자를 무작위로 뽑는 함수
    • 0 이상 1 미만 사이에서 난수를 뽑는 기능을 함
    notion image
    notion image
    ⬇ 1부터 45 까지 정수 범위 안에서 로또 번호를 뽑으려면 random( ) 함수로 생성한 난수에 45를 곱해 0.0 이상 45.0 미만인 난수를 생성한 후 int( )로 감싸서 정수로 변환한 뒤 1을 더함 → 1 이상 46 미만인 정수에서 난수 생성됨
    notion image
    random 모듈의 함수
    함수
    의미
    randrange(시작 숫자, 끝 숫자)
    주어진 범위 안에서 정수인 난수 생성 (끝 숫자 미포함)
    randint(시작 숫자, 끝 숫자)
    주어진 범위 안에서 정수인 난수 생성 (끝 숫자 포함)
    notion image
    notion image
    • 로또 번호 6개를 추첨하기 위해 6번 반복하면 중복된 번호가 발생할 수 있다
      • random 모듈의 sample( ) 함수를 사용하면 중복된 번호 제거하고 출력 가능
     

    실습 문제: 스터디 날짜 정하기

    문제

    코딩 스터디 모임을 만들었다. 월 4번 모이는데 3번은 온라인으로, 1번은 오프라인으로 모이기로 했다. 조건에 맞는 오프라인 모임 날짜를 정하는 프로그램을 작성하라.

    조건

    1. 날짜를 무작위로 뽑는다
    1. 월별 일수가 다르므로 최소 일수인 28일 이내로 정한다 (28일 까지만 날짜 선정)
    1. 매월 1~3일은 스터디를 준비해야하므로 제외
    1. 실행결과는 다음과 같은 형태 (날짜는 무작위 이므로 결과가 다를 수 있다)
      1. 오프라인 스터디 모임 날짜는 매월 18일로 선정됐습니다.

    문제 풀기

    notion image
     

    실습 문제: 연산자를 이용해 온도 단위를 변환하는 프로그램 만들기

    조건

    1. 섭씨 온도를 저장하기 위한 변수를 만든다
    1. 다음 공식을 이용해 섭씨 온도를 화씨 온도로 변환하고 새로운 변수에 저장한다.
      1. 화씨 온도 = (섭씨 온도 * 9 / 5) + 32
    1. 섭씨 온도와 화씨 온도를 다음과 같이 출력
      1. # 섭씨 온도가 30도일 때 섭씨 온도 : 30 화씨 온도 : 86.0 # 섭씨 온도가 10도일 때 섭씨 온도 : 10 화씨 온도 : 50.0
     

    문제 풀기

    notion image
    Share article
    Contents
    산술 연산자비교 연산자논리 연산자연산자의 우선순위변수로 연산하기함수로 연산하기실습 문제: 스터디 날짜 정하기실습 문제: 연산자를 이용해 온도 단위를 변환하는 프로그램 만들기

    parangdajavous

    RSS·Powered by Inblog