SlideShare a Scribd company logo
3장 계산해봅시다.
두근두근
① ②
IDLE Shell
이번 장에서 만들 프로그램
(1) 화씨 온도를 받아서 섭씨 온도로 변환하는 프로그램을 작성해본다.
(2) 자판기 프로그램을 작성해본다.
2
IDLE Shell
IDLE Shell
연산자와 피연산자
 1 + 2 × 3
 수식(expression): 피연산자들과 연산자의 조합
 연산자(operator): 연산을 나타내는 기호
 피연산자(operand): 연산의 대상이 되는 값
3
산술 연산자
 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 연산
4
나머지 연산자
분자를 입력하시오: 7
분모를 입력하시오: 4
나눗셈의 몫= 1
나눗셈의 나머지= 3
p = int(input("분자를 입력하시오: "))
q = int(input("분모를 입력하시오: "))
print("나눗셈의 몫=", p // q)
print("나눗셈의 나머지=", p % q)
5
나머지 연산자의 사용 예
 짝수와 홀수의 구분
 초 단위의 시간을 받아서 몇 분 몇 초인지를 계산
16 40
sec = 1000
min = 1000 // 60
remainder = 1000 % 60
print(min, remainder)
정수를 입력하시오: 28
0
number = int(input("정수를 입력하시오: "))
print(number%2)
6
Lab: 커피 가게 매출 계산하기
 다음과 같은 커피 메뉴가 있을 때, 매출을 계산
아메리카노 판매 개수: 10
카페라떼 판매 개수: 20
카푸치노 판매 개수: 30
총 매출은 185000 입니다.
7
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, "입니다.")
8
Lab: 화씨온도를 섭씨온도로 변환하기
 화씨 온도를 받아서 섭씨 온도로 바꾸는 프로그램을 작
성해보자.
ftemp = int(input("화씨온도: "))
ctemp = (ftemp-32.0)*5.0/9.0
print("섭씨온도:", ctemp)
화씨온도: 100
섭씨온도: 37.77777777777778
9
Lab: 자동 판매기 프로그램
 자동 판매기는 사용자로부터 투입한 돈과 물건값을 입력 받는다.
 물건값은 100원 단위라고 가정한다.
 프로그램은 잔돈을 계산하여 출력한다. 자판기는 동전 500원, 100원
짜리 만 가지고 있다고 가정하자.
투입한 돈: 5000
물건값: 2600
거스름돈: 2400
500원 동전의 개수: 4
100원 동전의 개수: 4
10
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)
11
지수 계산
 지수(power)를 계산하려면 ** 연산자를 사용한다.
 원리금 계산
>>> 2 ** 7
128
>>> a=1000
>>> r=0.05
>>> n=10
>>> a*(1+r)**n
1628.894626777442
12
할당 연산자 (대입 연산자)
 할당 연산자는 변수에 값을 저장하는 연산자이다.
 =의 왼쪽은 반드시 변수이어야 하고, 오른쪽은 수식
x = 100 + 200
 여러 개의 변수에 동일한 값을 저장하는 것도 가능
x = y = 100
 다음은 잘못된 수식이다. (=의 왼쪽이 변수가 아님)
대입 연산자(=)와 복합 연산자
 복합 연산자(compound operator)란 +=처럼 대입 연산
자와 다른 연산자를 합쳐 놓은 연산자이다.
14
복합 연산자
x = 1000
print("초깃값 x=", x)
x += 2;
print("x += 2 후의 x=", x)
x -= 2;
print("x -= 2 후의 x=", x)
초깃값 x= 1000
x += 2 후의 x= 1002
x -= 2 후의 x= 1000
15
관계 연산자 (relational operator)
 관계 연산자는 두 개의 피연산자를 비교하며,
연산 결과는 True 또는 False
16
연산 의미 수학적 표기
x == y x와 y가 같은가? 𝑥 = 𝑦
x != y x와 y가 다른가? 𝑥 ≠ 𝑦
x > y x가 y보다 큰가? 𝑥 > 𝑦
x < y x가 y보다 작은가? 𝑥 < 𝑦
x >= y x가 y보다 크거나 같은가? 𝑥 ≥ 𝑦
x <= y x가 y보다 작거나 같은가? 𝑥 ≤ 𝑦
문자열의 비교
 관계 연산자를 사용하여서 문자열도 비교할 수 있다.
17
>>> s1 = "Audrey Hepburn"
>>> s2 = "Audrey Hepburn"
>>> s1 == s2
True
>>> s1 = "Audrey Hepburn"
>>> s2 = "Grace Kelly"
>>> s1 < s2
True
사전에서 s1이 s2보다 앞에 있으면
True가 되고 그렇지 않으면
False가 된다.
실수와 실수의 비교
 다음과 같은 프로그램을 실행시킨 결과는?
18
>>> a = 0.1 + 0.2
>>> a == 0.3
False
>>> a = 0.1 + 0.2
>>> abs(a - 0.3) < 0.00000001 # a와 0.3의 차이가 작으면
True
비트 수가 제한되어 있기
때문에 실수를 정확하게
표현하지 못한다.
주석
 주석(comment)은 소스 코드에 붙이는 설명글와 같은 것
이다. 주석은 프로그램이 하는 일을 설명한다. 주석은 프
로그램의 실행 결과에 영향을 끼치지 않는다.
 #부터 줄의 끝까지가 주석이다
# 사용자로부터 화씨온도를 입력받는다.
ftemp = int(input("화씨온도: "))
ctemp = (ftemp-32.0)*5.0/9.0 # 화씨온도->섭씨온도
print("섭씨온도:", ctemp) # 섭씨온도를 화면에 출력한다
19
연산자의 우선 순위
 1+2*3: 더하기 먼저? 곱하기 먼저?
 괄호로 우선 순위를 바꾼다
>>> 10 + 20 /2
20.0
>>> (10 + 20) /2
15.0
20
우선 순위표
21
Lab: 평균 구하기
 평균을 구하고자 한다. 잘못된 부분은 어디일까?
x = int(input("첫 번째 수를 입력하시오: "))
y = int(input("두 번째 수를 입력하시오: "))
z = int(input("세 번째 수를 입력하시오: "))
avg = x + y + z / 3
print("평균 =", avg)
첫 번째 수를 입력하시오: 10
두 번째 수를 입력하시오: 20
세 번째 수를 입력하시오: 30
평균 = 40.0
22
Solution
x = int(input("첫 번째 수를 입력하시오: "))
y = int(input("두 번째 수를 입력하시오: "))
z = int(input("세 번째 수를 입력하시오: "))
avg = (x + y + z) / 3
print("평균 =", avg)
첫 번째 수를 입력하시오: 10
두 번째 수를 입력하시오: 20
세 번째 수를 입력하시오: 30
평균 = 20.0
23
이번 장에서 배운 것
 수식은 피연산자와 연산자로 이루어진다.
 덧셈, 뺄셈, 곱셈, 나눗셈을 위하여 +, -, *, / 기호를 사용한다.
 지수 연산자는 **이다.
 나눗셈에서 몫을 계산하려면 // 연산자를 사용한다.
 나눗셈에서 나머지를 계산하려면 % 연산자를 사용한다.
 *와 /가 +와 –보다 우선순위가 높다.
 연산자의 우선 순서를 변경하려면 괄호를 사용한다.
24
실습 1: 거리 구하기
 두 점의 좌표 (x1,y1)과 (x2,y2)를 입력 받아 두 점 사이의
거리를 구한다. Hint: 𝑥 = 𝑥0.5
이다.
𝑥1 − 𝑥2
2 + 𝑦1 − 𝑦2
2
25
IDLE Shell
Solution
x1 = int(input("x1: "))
y1 = int(input("y1: "))
x2 = int(input("x2: "))
y2 = int(input("y2: "))
dist = ( (x2 - x1)**2 + (y2 - y1)**2 )**0.5
#print("두점 사이의 거리 =", dist)
print("두점 사이의 거리 = {0}".format(dist))
26
실습 2: 정수의 자리수 합
 사용자로부터 0~9999인 정수를 입력 받아서 자리수의
합을 구한다. 예, 1234는 1+2+3+4를 계산하면 된다.
27
IDLE Shell
Solution
number = int(input("정수를 입력하시오: "))
sum = 0
sum = sum + number % 10
number = number // 10
sum = sum + number % 10
number = number // 10
sum = sum + number % 10
number = number // 10
sum = sum + number % 10
number = number // 10
print("자리수의 합: {0}".format(sum))
28

More Related Content

PPTX
빠르게 활용하는 파이썬3 스터디(ch1~4)
PDF
빅데이터자료구조 Python Module Recursion -모듈-순환-최종.pdf
PPT
Python3 brief summary
PPTX
Python 스터디
PPT
Equation Solving
PDF
프로그래머가 알아야 하는 2진수 기반의 컴퓨터 동작 원리
PPT
C수업자료
PPT
C수업자료
빠르게 활용하는 파이썬3 스터디(ch1~4)
빅데이터자료구조 Python Module Recursion -모듈-순환-최종.pdf
Python3 brief summary
Python 스터디
Equation Solving
프로그래머가 알아야 하는 2진수 기반의 컴퓨터 동작 원리
C수업자료
C수업자료

Similar to 제3장 계산방법에대한 파이썬학습진행방법. 계산을 통해 python programing (20)

PPTX
Python
 
PPTX
파이썬 기초
PDF
고등학생 R&E Python summary for test
PPTX
문과생 대상 파이썬을 활용한 데이터 분석 강의
PDF
02_3_여러가지연산자
PDF
DreamCode 시즌2 2번째~
PDF
02장 자료형과 연산자
PPTX
Python datatype
PPTX
[170410 3주차]C언어 A반
PDF
파이썬 기본 문법
PDF
파이썬2.7 기초 공부한 것 정리
PDF
코딩 글로리 교육 자료 (1,2,3+회차) : 구구단 예제
PPTX
G+ Summer C Study 20130709(3일차)
PDF
Python 1day
PDF
게임프로그래밍입문 3주차
PPTX
파이썬 스터디 2주차
PDF
SHAKE - 경기 남부 4개대학 연합 프로그래밍 경시대회 본선문제
PPTX
Python 이해하기 20160815
PPTX
프로그래밍 및 실습 Chap2
PDF
Java Calculator.pdf
Python
 
파이썬 기초
고등학생 R&E Python summary for test
문과생 대상 파이썬을 활용한 데이터 분석 강의
02_3_여러가지연산자
DreamCode 시즌2 2번째~
02장 자료형과 연산자
Python datatype
[170410 3주차]C언어 A반
파이썬 기본 문법
파이썬2.7 기초 공부한 것 정리
코딩 글로리 교육 자료 (1,2,3+회차) : 구구단 예제
G+ Summer C Study 20130709(3일차)
Python 1day
게임프로그래밍입문 3주차
파이썬 스터디 2주차
SHAKE - 경기 남부 4개대학 연합 프로그래밍 경시대회 본선문제
Python 이해하기 20160815
프로그래밍 및 실습 Chap2
Java Calculator.pdf
Ad

제3장 계산방법에대한 파이썬학습진행방법. 계산을 통해 python programing

  • 2. 이번 장에서 만들 프로그램 (1) 화씨 온도를 받아서 섭씨 온도로 변환하는 프로그램을 작성해본다. (2) 자판기 프로그램을 작성해본다. 2 IDLE Shell IDLE Shell
  • 3. 연산자와 피연산자  1 + 2 × 3  수식(expression): 피연산자들과 연산자의 조합  연산자(operator): 연산을 나타내는 기호  피연산자(operand): 연산의 대상이 되는 값 3
  • 4. 산술 연산자  덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 연산 4
  • 5. 나머지 연산자 분자를 입력하시오: 7 분모를 입력하시오: 4 나눗셈의 몫= 1 나눗셈의 나머지= 3 p = int(input("분자를 입력하시오: ")) q = int(input("분모를 입력하시오: ")) print("나눗셈의 몫=", p // q) print("나눗셈의 나머지=", p % q) 5
  • 6. 나머지 연산자의 사용 예  짝수와 홀수의 구분  초 단위의 시간을 받아서 몇 분 몇 초인지를 계산 16 40 sec = 1000 min = 1000 // 60 remainder = 1000 % 60 print(min, remainder) 정수를 입력하시오: 28 0 number = int(input("정수를 입력하시오: ")) print(number%2) 6
  • 7. Lab: 커피 가게 매출 계산하기  다음과 같은 커피 메뉴가 있을 때, 매출을 계산 아메리카노 판매 개수: 10 카페라떼 판매 개수: 20 카푸치노 판매 개수: 30 총 매출은 185000 입니다. 7
  • 8. 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, "입니다.") 8
  • 9. Lab: 화씨온도를 섭씨온도로 변환하기  화씨 온도를 받아서 섭씨 온도로 바꾸는 프로그램을 작 성해보자. ftemp = int(input("화씨온도: ")) ctemp = (ftemp-32.0)*5.0/9.0 print("섭씨온도:", ctemp) 화씨온도: 100 섭씨온도: 37.77777777777778 9
  • 10. Lab: 자동 판매기 프로그램  자동 판매기는 사용자로부터 투입한 돈과 물건값을 입력 받는다.  물건값은 100원 단위라고 가정한다.  프로그램은 잔돈을 계산하여 출력한다. 자판기는 동전 500원, 100원 짜리 만 가지고 있다고 가정하자. 투입한 돈: 5000 물건값: 2600 거스름돈: 2400 500원 동전의 개수: 4 100원 동전의 개수: 4 10
  • 11. 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) 11
  • 12. 지수 계산  지수(power)를 계산하려면 ** 연산자를 사용한다.  원리금 계산 >>> 2 ** 7 128 >>> a=1000 >>> r=0.05 >>> n=10 >>> a*(1+r)**n 1628.894626777442 12
  • 13. 할당 연산자 (대입 연산자)  할당 연산자는 변수에 값을 저장하는 연산자이다.  =의 왼쪽은 반드시 변수이어야 하고, 오른쪽은 수식 x = 100 + 200  여러 개의 변수에 동일한 값을 저장하는 것도 가능 x = y = 100  다음은 잘못된 수식이다. (=의 왼쪽이 변수가 아님)
  • 14. 대입 연산자(=)와 복합 연산자  복합 연산자(compound operator)란 +=처럼 대입 연산 자와 다른 연산자를 합쳐 놓은 연산자이다. 14
  • 15. 복합 연산자 x = 1000 print("초깃값 x=", x) x += 2; print("x += 2 후의 x=", x) x -= 2; print("x -= 2 후의 x=", x) 초깃값 x= 1000 x += 2 후의 x= 1002 x -= 2 후의 x= 1000 15
  • 16. 관계 연산자 (relational operator)  관계 연산자는 두 개의 피연산자를 비교하며, 연산 결과는 True 또는 False 16 연산 의미 수학적 표기 x == y x와 y가 같은가? 𝑥 = 𝑦 x != y x와 y가 다른가? 𝑥 ≠ 𝑦 x > y x가 y보다 큰가? 𝑥 > 𝑦 x < y x가 y보다 작은가? 𝑥 < 𝑦 x >= y x가 y보다 크거나 같은가? 𝑥 ≥ 𝑦 x <= y x가 y보다 작거나 같은가? 𝑥 ≤ 𝑦
  • 17. 문자열의 비교  관계 연산자를 사용하여서 문자열도 비교할 수 있다. 17 >>> s1 = "Audrey Hepburn" >>> s2 = "Audrey Hepburn" >>> s1 == s2 True >>> s1 = "Audrey Hepburn" >>> s2 = "Grace Kelly" >>> s1 < s2 True 사전에서 s1이 s2보다 앞에 있으면 True가 되고 그렇지 않으면 False가 된다.
  • 18. 실수와 실수의 비교  다음과 같은 프로그램을 실행시킨 결과는? 18 >>> a = 0.1 + 0.2 >>> a == 0.3 False >>> a = 0.1 + 0.2 >>> abs(a - 0.3) < 0.00000001 # a와 0.3의 차이가 작으면 True 비트 수가 제한되어 있기 때문에 실수를 정확하게 표현하지 못한다.
  • 19. 주석  주석(comment)은 소스 코드에 붙이는 설명글와 같은 것 이다. 주석은 프로그램이 하는 일을 설명한다. 주석은 프 로그램의 실행 결과에 영향을 끼치지 않는다.  #부터 줄의 끝까지가 주석이다 # 사용자로부터 화씨온도를 입력받는다. ftemp = int(input("화씨온도: ")) ctemp = (ftemp-32.0)*5.0/9.0 # 화씨온도->섭씨온도 print("섭씨온도:", ctemp) # 섭씨온도를 화면에 출력한다 19
  • 20. 연산자의 우선 순위  1+2*3: 더하기 먼저? 곱하기 먼저?  괄호로 우선 순위를 바꾼다 >>> 10 + 20 /2 20.0 >>> (10 + 20) /2 15.0 20
  • 22. Lab: 평균 구하기  평균을 구하고자 한다. 잘못된 부분은 어디일까? x = int(input("첫 번째 수를 입력하시오: ")) y = int(input("두 번째 수를 입력하시오: ")) z = int(input("세 번째 수를 입력하시오: ")) avg = x + y + z / 3 print("평균 =", avg) 첫 번째 수를 입력하시오: 10 두 번째 수를 입력하시오: 20 세 번째 수를 입력하시오: 30 평균 = 40.0 22
  • 23. Solution x = int(input("첫 번째 수를 입력하시오: ")) y = int(input("두 번째 수를 입력하시오: ")) z = int(input("세 번째 수를 입력하시오: ")) avg = (x + y + z) / 3 print("평균 =", avg) 첫 번째 수를 입력하시오: 10 두 번째 수를 입력하시오: 20 세 번째 수를 입력하시오: 30 평균 = 20.0 23
  • 24. 이번 장에서 배운 것  수식은 피연산자와 연산자로 이루어진다.  덧셈, 뺄셈, 곱셈, 나눗셈을 위하여 +, -, *, / 기호를 사용한다.  지수 연산자는 **이다.  나눗셈에서 몫을 계산하려면 // 연산자를 사용한다.  나눗셈에서 나머지를 계산하려면 % 연산자를 사용한다.  *와 /가 +와 –보다 우선순위가 높다.  연산자의 우선 순서를 변경하려면 괄호를 사용한다. 24
  • 25. 실습 1: 거리 구하기  두 점의 좌표 (x1,y1)과 (x2,y2)를 입력 받아 두 점 사이의 거리를 구한다. Hint: 𝑥 = 𝑥0.5 이다. 𝑥1 − 𝑥2 2 + 𝑦1 − 𝑦2 2 25 IDLE Shell
  • 26. Solution x1 = int(input("x1: ")) y1 = int(input("y1: ")) x2 = int(input("x2: ")) y2 = int(input("y2: ")) dist = ( (x2 - x1)**2 + (y2 - y1)**2 )**0.5 #print("두점 사이의 거리 =", dist) print("두점 사이의 거리 = {0}".format(dist)) 26
  • 27. 실습 2: 정수의 자리수 합  사용자로부터 0~9999인 정수를 입력 받아서 자리수의 합을 구한다. 예, 1234는 1+2+3+4를 계산하면 된다. 27 IDLE Shell
  • 28. Solution number = int(input("정수를 입력하시오: ")) sum = 0 sum = sum + number % 10 number = number // 10 sum = sum + number % 10 number = number // 10 sum = sum + number % 10 number = number // 10 sum = sum + number % 10 number = number // 10 print("자리수의 합: {0}".format(sum)) 28