문제해결과 SW프로그래밍 - 문자열
1. 연산자
- 산술 연산자 : +, -, *, /, %, //, **
- 복합대입 연산자: =, +=, -=, *=, /=
- 비교 연산자: ==, !=, >, >=, <, <=
- 논리 연산자(True와 False 판별) : and, or, not
2. 덧셈
- 정수 + 정수 = 정수형(int)
- 실수 + 실수 = 실수형(float)
- 정수 + 실수 = 실수형(float)
3. 문자열의 덧셈
: 피연산자에 해당하는 문자열의 연결

4. 뺄셈

5. 문자열의 곱셈
- '안녕', '안녕 ' 문자열을 사용자가 입력한 숫자만큼 출력하기

예제) 방의 넓이


6. 나눗셈
- 정수 % 정수 = 실수
- 숫자 '0' 은 어떤 수로 나누어도 결과는 항상 0임.

- '자료형 변환' 을 하면 소수점 이하의 데이터는 손실됨.
예제) BMI 구하기


- bmi 를 구할 때, float를 앞에 붙여야한다.
7. 나머지 구하기
- 나머지를 구하는 연산자로 '%' 를 사용.
- ex) 데이터의 홀, 짝을 구분하거나 숫자의 배수를 확인하기.

예제) 홀짝 게임하기
짝수=0, 홀수=1 출력하기


8. 몫 구하기
- 몫 연산자 : //
- ex : 10 // 3 >> 3
예제) 빵을 나누어 줄 수 있는 학생 수 구하기
Q) 97개의 빵을 3개씩 최대 몇 명에게 나누어 줄 수 있는지 구하고, 남는 빵 개수도 구하자.


9. 거듭제곱 구하기
- 거듭제곱을 구하는 연산자로 '**'를 사용함.
- ex) 2 ** 3 >> 8
예제) 전염병 예산 감염자 수 구하기
Q) 전염병 감염 확산 추세를 파악한 결과, 하루에 한 사람이 한명씩 감염시키는 것으로 나타났다.
확진자 한 사람이 나오면, 30일 이후 몇 명의 감염자가 나올지 계산해보자.


- 첫 날에 2명이 감염되었고 가정하자. (p1, p2)
- 둘쨋날에는 p1 사람이 2명을 더 감염시키고, p2가 두명을 더 감염시켜서 총 4명이 감염된다.
- 셋쨋날에는 4 x 2 로 총 8명이 감염된다.
- 이런 방식으로 30일 후에는 2**30 명이 감염된다.
10. 복합대입 연산자
- '=' : num = 10 : num 에 10을 대입한다.
- '+=' : num += 10 : num = num + 10 : num에 10을 더한 값을 다시 num에 대입한다.
- '-=' : num -= 10 : num = num - 10 : num에 10을 뺀 값을 다시 num에 대입한다.
- '*=' : num *= 10 : num = num * 10 : num에 10을 곱한 값을 다시 num에 대입한다.
- '/=' : num /= 10 : num = num / 10 : num에 10을 나눈 값을 다시 num에 대입한다.
예제) 복리 계산기 만들기
Q) 예금계획 세우고 있다. 3년 정기 예금을 복리로 했을 때 가장 큰 목돈을 만들 수 있다. 500만원씩 3년 만기인 정기 예금 상품을 가입했었을 때, 3년 후 받게 될 총 수령액을 계산해보자.(이자율 : 연 5%)


11. 비교 연산자
- 연산의 결과값은 True 또는 False로 나타냄
- '==' 또는 '!='
예제) 놀이동산 탑승 가능 판별하기
Q) 놀이동산은 120cm 이상 어린이만 탑승할 수 있다. 신장을 입력하면 범퍼카를 탈 수 있는지 여부를 알려주는 프로그램을 만들어 보자.


12.
예제) 키가 120이상 170미만 이면 놀이기구 탑승가능.
--> 비교 연산자 : 120 <= height and height < 170 가 참이면 True


예제) 1분기 매출액 구하기

- 위에 세줄이 1월 매출 ~ 3월 매출까지 입력 받는 것이다.

예제) 학점 계산하기

- 비교 연산자 : (score < 60) or (absence >= 5) --> 가 참이면 True, 거짓이면 False

예제) 아이디와 비밀번호로 로그인하기
- 비교 연산자 : (score < 60) or (absence >= 5) --> 가 참이면 True, 거짓이면 False

예제) 1분기 매출액 구하기

- print('수익 : ', profit, '원') --> 수익 : (profit) 원
