파이썬 찐초보 과정 3번째 글이다!
오늘의 목표
1. 파이썬 언어세어 '산술 연산자'에 대해 배우고 연산자와 변수를 이용해 수식을 세운다.
2. 데이터를 입력받아 변수에 저장한 후에 수식으로 값을 계산한 후 결과를 출력한다.
1. 산술연산자
산술연산자는 더하기, 빼기, 곱하기, 나누기가 있으며 '나머지'를 구하는 % 연산자를 의미한다.
기호로 나타내면
+, -, *, /, %
이렇게 나타낼 수 있다.
8 + 5 #결과는 13
8 - 5 # 결과는 3
8/5 # 결과는 1.6
8 * 5 # 결과는 40
8 % 5 # 결과는 3(8에서 5를 나눈 나머지)
2. 숫자를 입력받아서 연산하기
이번에는 input()을 활용해서 연산하는 프로그램을 활용해보자!
연산의 경우 숫자끼리는 모든 연산이 가능하지만 문자끼리는 뺄셈, 나눗셈, 곱셈, 나머지연산이 불가능하다.
문자끼리는 +(덧셈)은 가능한데 문자 + 문자의 경우 문자 두 개를 연이어 써주는 것을 의미한다.
아래의 그림을 보면 알 수 있듯이 string와 string, 즉 문자와 문자끼리는 빼기가 불가능해서 에러가 나온다.
이런 경우에는 input() 앞에 int()를 붙여줘서 입력받은 값을 정수로 변환시켜주면 된다~!
하지만 사용자가 수를 입력할 때 정수를 입력하지 않고 3.5, 5.6 과 같이 소수를 입력했다면 또 에러가 뜬다.
그런 경우를 대비하려면 정수를 의미하는 int말고 eval로 바꾸어주면 된다~!
eval은 evaluate를 의미하며 실수로 받아준다.
3. 연산자의 우선순위
연산자 내에서 우선순위는 기본 수학의 우선순위와 같다.
+, - 보다 *, /, % 가 우선순위가 높고 이것보다 ( )가 우선순위가 높다!
4. 수식의 의미
프로그래밍에서 수식은
변수 연산자 변수
라고 볼 수 있다.
합 = 변수1 + 변수2
차 = 변수1 - 변수2
곱 = 변수1 * 변수2
나누기 = 변수1/ 변수2
나머지 = 변수1 % 변수2
아래의 그림을 보면 더욱 이해가 빠를 것이다.
5. 다양한 수식
면적 = 가로 * 세로
평균 = (a + b)/ 2
화씨온도 = 32 + 섭씨온도 * 9 / 5
원의 면적 = 3.14 * 반지름 * 반지름
등
다양한 수식을 만드는 프로그램을 작성해보자!
1) 직사각형의 가로와 세로 길이를 입력받아 면적을 계산하는 프로그램을 만들어보자.
height = eval(input("높이를 입력하세요 : \n"))
width = eval(input("너비를 입력하세요 : \n"))
area = height * width
print(area)
2) 국어와 수학 점수를 입력받아 평균 값을 계산하는 프로그램을 만들어보자.
kor = int(input("국어 점수 : \n"))
math = int(input("수학 점수 : \n"))
average = (kor + math) / 2
print("평균은 %f입니다. "%(average))
3) BMI를 구하는 프로그램을 만들어보자.
코드 중 %0.2f는 실수 계산을 했을 때 소수 점 아래로 2자리까지만 나타내라는 의미이다.
height = eval(input("키(m) : \n"))
weight = eval(input("몸무게(kg) : \n"))
bmi = weight/ (height * height)
print("키 %0.2f m이고, 몸무게 %0.2f kg인 사람의 BMI는 %0.2f 입니다."%(height, weight, bmi))
4) 섭씨 온도를 화씨온도로 바꾸는 프로그램을 만들어보자.
c = eval(input("섭씨온도 : \n"))
f = c * 9 / 5 + 32
print("섭씨 온도 %0.2f 도는 화씨 온도 %0.2f 도 입니다. " %(f, c))
'프로그래밍 > 파이썬기초' 카테고리의 다른 글
if조건문, 홀수짝수 판별, 약수구하기_파이썬 기초 (0) | 2021.03.18 |
---|---|
while 반복문_파이썬 기초 (0) | 2021.03.17 |
순차구조, for반복문(feat. range()함수)_파이썬 기초 (0) | 2021.03.16 |
변수, input()활용하기_파이썬 기초 (0) | 2021.03.11 |
파이썬 설치 , 값 출력해보기_파이썬 기초 (0) | 2021.03.11 |