두근두근 파이썬 수업 3장 계산해봅시다.
이번 장에서 만들 프로그램 (1) 화씨 온도를 받아서 섭씨 온도로 변환하는 프로그램을 작성해본다. (2) 자판기 프로그램을 작성해본다. Run Python Run Python
이번 장에서 만들 프로그램 (3) n-각형을 그리는 프로그램을 작성해본다.
수식은 어디에나 있다. 우리가 즐겨보는 영화의 컴퓨터 그래픽 장면들이 컴퓨터의 계산 기 능을 통하여 이루어진다는 것은 아주 흥미롭다. 예를 들어서 건물들 의 폭발 장면은 물리학의 여러 가지 공식들을 이용하여 컴퓨터로 계 산한 결과를 화면에 표시하는 것이다.
연산자와 피연산자 수식(expression)=피연산자들과 연산자의 조합 연산자(operator): 연산을 나타내는 기호 피연산자(operand): 연산의 대상이 되는 값
산술 연산자 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 연산
나눗셈 >>> 7 / 4 1.75 >>> 7 // 4 1 파이썬 버전 2.X에서는 / 연산자의 결과가 정수가 됩니다. 주의하세요!
나머지 연산자 p = int(input("분자를 입력하시오: ")) q = int(input("분모를 입력하시오: ")) print("나눗셈의 몫=", p // q) print("나눗셈의 나머지=", p % q) 분자를 입력하시오: 7 분모를 입력하시오: 4 나눗셈의 몫= 1 나눗셈의 나머지= 3
나머지 연산자의 용도 짝수와 홀수의 구분 number = int(input("정수를 입력하시오: ")) print(number%2) 정수를 입력하시오: 28
나머지 연산자의 용도 초단위의 시간을 받아서 몇 분 몇 초인지를 계산하여 보 자. sec = 1000 min = 1000 // 60 remainder = 1000 % 60 print(min, remainder) 16 40
Lab: 다각형 그리기 몇각형을 그리시겠어요?(3-6): 6 >>> for i in range(6) : # 6번 반복한다. t.forward(100) # 반복하는 문장을 들여쓰기 하여서 적는다. t.left(60) Run Python 반복은 아직 학습하지 않았지만 위의 문장을 사용할 것! 변수를 이용해보자.
Solution import turtle t = turtle.Turtle() t.shape("turtle") n = int(input("몇각형을 그리시겠어요?(3-6): ")) for i in range(n) : t.forward(100) t.left(360//n)
Lab: 커피 가게 매출 계산하기 우리가 커피 전문점을 내려고 한다. 다음과 같은 커피 메 뉴가 있을 때, 얼마나 많은 매출을 올릴 수 있을 지 계산해 보고자 한다. Run Python 아메리카노 판매 개수: 10 카페라떼 판매 개수: 20 카푸치노 판매 개수: 30 총 매출은 185000 입니다.
Solution americano_price = 2000 cafelatte_price = 3000 capucino_price = 3500 americanos = int(input("아메리카노 판매 개수: ")) cafelattes = int(input("카페라떼 판매 개수: ")) capucinos = int(input("카푸치노 판매 개수: ")) sales = americanos*americano_price sales = sales + cafelattes*cafelatte_price sales = sales + capucinos*capucino_price print("총 매출은", sales, "입니다.")
Lab: 화씨온도를 섭씨온도로 변환하기 화씨온도를 받아서 섭씨온도로 바꾸는 프로그램을 작성 해보자. 화씨온도: 100 Run Python 화씨온도: 100 섭씨온도: 37.77777777777778
Solution ftemp = int(input("화씨온도: ")) ctemp = (ftemp-32.0)*5.0/9.0 print("섭씨온도:", ctemp)
Lab: BMI 계산하기 사용자로부터 신장과 체중을 입력받아서 BMI 값을 출력 하는 프로그램을 작성하여 보자. Run Python 몸무게를 kg 단위로 입력하시오: 85.0 키를 미터 단위로 입력하시오: 1.83 당신의 BMI= 25.381468541909282
Solution weight = float(input("몸무게를 kg 단위로 입력하시오: ")) height = float(input("키를 미터 단위로 입력하시오: ")) bmi = (weight / (height**2)) print("당신의 BMI=", bmi)
Lab: 자동 판매기 프로그램 자동 판매기를 시뮬레이션하는 프로그램을 작성해보자. 자동 판매기 는 사용자로부터 투입한 돈과 물건값을 입력받는다. 물건값은 100원 단위라고 가정한다. 프로그램은 잔돈을 계산하여 출력한다. 자판기 는 동전 500원, 100원짜리만 가지고 있다고 가정하자. 투입한 돈: 5000 물건값: 2600 거스름돈: 2400 500원 동전의 개수: 4 100원 동전의 개수: 4 Run Python
Solution money = int(input("투입한 돈: ")) price = int(input("물건 값: ")) change = money-price print("거스름돈: ", change) coin500s = change // 500 # 500으로 나누어서 몫이 500원짜리의 개수 change = change % 500 # 500으로 나눈 나머지를 계산한다. coin100s = change // 100 # 100으로 나누어서 몫이 100원짜리의 개수 print("500원 동전의 개수: ", coin500s) print("100원 동전의 개수: ", coin100s)
지수 계산 지수(power)를 계산하려면 ** 연산자를 사용한다. 원리금 계산 >>> 2 ** 7 128 >>> a=1000 >>> r=0.05 >>> n=10 >>> a*(1+r)**n 1628.894626777442
복합 연산자 복합 연산자(compound operator)란 +=처럼 대입 연산 자와 다른 연산자를 합쳐 놓은 연산자이다.
복합 연산자
복합 연산자 x = 1000 print("초깃값 x=", x) x += 2; print("x += 2 후의 x=", x)
주석 주석(comment)은 소스 코드에 붙이는 설명글와 같은 것 이다. 주석은 프로그램이 하는 일을 설명한다. 주석은 프 로그램의 실행 결과에 영향을 끼치지 않는다. # 사용자로부터 화씨온도를 입력받는다. ftemp = int(input("화씨온도: ")) ctemp = (ftemp-32.0)*5.0/9.0 # 화씨온도->섭씨온도 print("섭씨온도:", ctemp) # 섭씨온도를 화면에 출력한다
연산자의 우선 순위
괄호의 사용 >>> 10 + 20 /2 20.0 >>> (10 + 20) /2 15.0
우선 순위표
Lab: 평균 구하기 평균을 구하고자 한다. 잘못된 부분은 어디일까? x = int(input("첫 번째 수를 입력하시오: ")) y = int(input("두 번째 수를 입력하시오: ")) z = int(input("세 번째 수를 입력하시오: ")) avg = x + y + z / 3 print("평균 =", avg) 첫 번째 수를 입력하시오: 10 두 번째 수를 입력하시오: 20 세 번째 수를 입력하시오: 30 평균 = 40.0
Solution x = int(input("첫 번째 수를 입력하시오: ")) y = int(input("두 번째 수를 입력하시오: ")) z = int(input("세 번째 수를 입력하시오: ")) avg = (x + y + z) / 3 print("평균 =", avg) 첫 번째 수를 입력하시오: 10 두 번째 수를 입력하시오: 20 세 번째 수를 입력하시오: 30 평균 = 20.0
이번 장에서 배운 것 수식은 피연산자와 연산자로 이루어진다. 덧셈, 뺄셈, 곱셈, 나눗셈을 위하여 +, -, *, / 기호를 사용한 다. 지수 연산자는 **이다. 나눗셈에서 몫을 계산하려면 // 연산자를 사용한다. 나눗셈에서 나머지를 계산하려면 % 연산자를 사용한다. *와 /가 +와 –보다 우선순위가 높다. 연산자의 우선 순서를 변경하려면 괄호를 사용한다.
Q & A