강의목표: 수학연산자 익히기, 숫자처리 + 반올림 + F-String
참고자료:
1. 사칙연산
덧셈: 3 + 5
뺄셈: 7 - 4
곱셈: 3 * 2
나눗셈: 6 / 3
제곱: 2 ** 3 (2의 3제곱)
나눗셈의 결과값은 부동소수 형태로 출력됌
6 / 3 의 결과값은 2.0
print(type(6 / 3))
# 실행결과: <class 'float'>
2. 연산 우선순위
괄호 안의 연산 0순위
지수(거듭제곱) 1순위
나눗셈,곱셈은 2순위
덧셈, 나눗셈은 3순위
PEMDAS 연산순서: Parentheses - Exponents - Multiplication - Division - Addition - Substraction
print(3 * 3 + 3 / 3 - 3)
# 실행결과: 7.0
# 나눗셈도 있으므로 결과값은 부동소수 형태로 나옴
코드 실행순서를 보고싶을땐 아래 사이트 참고하시오
Pythontutor.com 또는 Thonny.org
3. 퀴즈! 위 코드를 변경해서 7 대신에 3을 출력하게 하시오
print(3 * (3 + 3 / 3 - 3))
# 실행결과: 3.0
4. round( ) 함수로 반올림 해보기
round( ) 함수에 저장된 부동소수타입 값을 반올림함
round(8.1323 , 2) 뜻은 8.1323 을 반올림해서 소수점 2번째 자리까지 나타내라는 구문임.
반올림은 소수점 첫째숫자가 5이상이면 올림, 4이하면 내림(버림)하는 연산임.
10.4 를 반올림하면 10이 됌.
print(round(8 / 3))
# 실행결과: 3
2.6 을 반올림해서 3으로 출력함.
** "{:0.소수점아래몇번째f}".format(변수) 문자열로 소수점 2째자리까지 나타내는 반올림 해보기
a = 13.946
print("%.2f" % a) #소수점 2째자리까지 나타내는 반올림 실행
print("{:0.2f}".format(a))
print("{:.2f}".format(a))
print("{:.2f}".format(round(a, 2)))
** str형 이다.
a = "{:0.2f}".format(8/3)
print(type(a))
# 실행결과: <class 'str'>
print(4 / 2)
# 실행결과: 2.0
print(type(4 / 2))
# 실행결과: <class 'float'>
print(type(8 / 3))
# 실행결과: <class 'float'>
5. 반올림할 자릿수 지정해서 반올림하기
아래 예시에서 2.666 의 소수점 2번째는 점 옆옆인 놈을 반올림하란 뜻이라고 생각하기 쉬운데
그냥 소수점 두번째자리까지만 반올림 결과로 출력해라 라고 받아들이는게 나을 듯함.
print(round(8 / 3, 2)) # 소수점 2번째자리에서 반올림 해라는 뜻
# 실행결과: 2.67
2.6666 을 2번째 소수자리에서 반올림해서 2.67이 됌
결과 중에 정수값만 원할때 사용 (반올림X)
소수점 뒤 모든 숫자를 잘라낸다. 정수로 변환할 필요 없음
print(8 // 3)
# 실행결과: 2
print(type(8 // 3))
# 실행결과: <class 'int'>
7. /= 으로: 같은 연산 반복
result = 4 / 2
result /= 2
print(result)
#실행결과: 1.0
사용자의 점수를 추적해보기
+=. -=, *=, /= : 이전 값에 기반해서 반복 연산
사용자가 1점의 점수를 얻을 때마다 score 변수를 계속 사용할 수 있음.
score = score + 1 으로 표현하는 대신에, score += 1 으로 표현할 수 있음
즉 이전 score에서 1을 더하고, score에 다시 저장한다는 뜻임.
score = 0
#User score +1 every single time
score += 1
print(score)
#실행결과: 1
f-Sting : 문자열 + 다양한 데이터타입을 혼합할때 형변환 생략하고 할 수 있음.
서로 다른 유형의 데이터타입을 문자열로 처리할 수 있음!!!!
문자열 앞에 f만 붙이면 됌. 그리고 문자열 옆에 { } 중괄호 쳐주고,
중괄호 안에 여러타입 데이터들을 콤마로 구분해서 여러개 넣으면 됌.
그러면 중괄호{ } 안의 데이터들을 알아서 문자열형으로 형태 변환해줌
score = 0
height = 1.8
isWinning = True
#f-String 사용해서 위 변수 3개를 + 결합해서 출력해라
print(f"your score is {score}")
# 실행결과: your score is 0
#f-String 사용 가쥬아
print(f"your score is {score}, your height is {height}, you are winning is {isWinning}")
# 실행결과: your score is 0, your height is 1.8, you are winning is True
#유데미 #유데미코리아 #스타트위드유데미 #스터디윗미