산수가 갑자기 수학이 되었다. 산술 연산자와 복합 연산자! 몫과 나머지 구하기.

최효손·2023년 4월 8일
0

2023/4/8

16_산술 연산자(덧셈, 뺄셈)

  • 연산자란?
  • result 함수 이용하여 계산해주는 값 (=, +, -, * 같은 것들)
  • 프로그램에서 같다는 뜻은 = 가 아니라 == (등호 2개)로 표시해야 함

<이미지 출처: 제로 베이스 데이터 스쿨 강의 자료>

연산 & 형식문자 콜라보 예시

  • 연산만 하니까 소수점 자릿수 너무 길다.
  • 그래서 형식문자 (%s: 문자, %d: 정수, %f: 실수) 활용해 소수점 자릿수 줄여보자.

덧셈 주의사항:

  • 정수 + 실수 덧셈 가능: 3 + 0.14 가능
  • 문자끼리 덧셈 가능: Good + morning 가능
  • 숫자와 문자 덧셈 불가: 10 + monrning 불가능

실습

  • 입력 = input 함수 떠올리기
  • 숫자로 출력해야 하니 int 추가하기
  • {중괄호} 안에 값을 넣기 위해 .format 포맷 함수 사용하기

뺄셈 주의사항:

  • 정수 (num) 끼리, 실수 (fnum) 끼리 뺄셀 가능
  • 정수 - 실수 뺄셈 가능
  • 문자끼리 덧셈 가능하지만 뺄셈 불가능: Good - morning 불가능

실습


17_산술 연산자(곱셈, 나눗셈)

  • 숫자(정수(num), 실수(fnum)) 곱셈 가능
  • 문자 곱셈 가능 (hi 를 7번 곱하기)

나눗셈 소수점 자릿수 조정하기

  • {중괄호}.format 함수 대신 소수점을 나타내주는 형식문자인 %f 사용하면 좋겠죠?

  • {중괄호}.format 함수 자리에 %f % 넣으면 됨

  • 소수점 자릿수 줄이고 싶으면 f 앞에 .2 추가

  • 나눗셈 결과는 항상 float (실수)로 나옴

  • 나눗셈 소수점 보이는 거 싫어요. 정수(int)로 출력할래요.
    int 함수 추가하면 됨

실습

  • 입력해야 하니까 input 함수
  • 합계는 더하기, 평균은 나누기
  • 나눗셈은 소수점이니까 {중괄호}.format 함수 대신 %f % 로 바꾸기
  • 소수점 자릿수 줄이려면 f 앞에 .2 추가

18_산술 연산자(나머지와 몫)

  • 나눗셈 결과 나머지, 몫 따로 구하는 법
  • 예) 10 나누기 3 = 3.33 인데
  • 이 중 나머지(%)는 1, 몫(//)은 3

divmod 함수

  • 나머지, 몫 한번에 구하는 함수
  • 몫 (0), 나머지 (1) 순서로 출력됨

실습

방법 1)

  • 데이터 입력 input 함수부터 사용
  • 값을 구해야 하니까 앞에 int 함수 추가
  • 몫은 //, 나머지는 % 로 연산하기
  • {중괄호}.format 함수로 출력하기

방법 2)

  • 몫 // 나머지 % 로 값을 따로 구할 필요 없이,
  • result = divimod 함수 (0. 1 순서로) 사용

실습

  • 전체 학생 수..와 같은 문자가 아닌 숫자만 있으므로 input, int 함수 필요 없이 숫자를 그대로 표기하면 됨
  • 출력할 때는 {중괄호}.format 함수를 쓰고,
  • 몫, 나머지는 result = divmod 함수 (0. 1 순서) 를 쓴다.

19_산술 연산자(거듭제곱)

  • 거듭제곱: 같은 수를 여러번 곱합 값

  • 2의 3제곱 = 2 ** 3

  • 제곱근: 거듭제곱의 반대 개념, 같은 수를 나눈 값

  • 2의 3제곱근 = 2 ** (1/3)

  • sqrt 함수 (2제곱근만 구하기, 3제곱근 불가)
  • pow 함수 (거듭제곱 구하기)

실습

(아직 이해 안 됨 ㅠㅠ
200에 왜 0.01 곱하고 나중에 100은 또 왜 곱하는지)

20_복합연산자 (무슨 말인지? ㅠ)

  • 프로그램에서 등호 = 는 왼쪽, 오른쪽 값이 같다는 뜻이 아니라
  • 오른쪽 값을 왼쪽에 할당하다는 뜻!


실습

  • 맨 아래쪽에 ------------------ 선 추가하고 싶을 때?
  • print('-' * 30) 하면 됨

참고: 위 이미지는 제로 베이스 데이터 스쿨 강의 자료를 캡처했습니다.

profile
Oodi 를 꿈꾸며

0개의 댓글