1 분 소요


단계 제목 설명  
1 입출력과 사칙연산 입력, 출력과 사칙연산을 연습해 봅시다. Hello World!  
  소단계 문제번호 제목
  6 10869 사칙연산
    모든 연산 문제  

문제

두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오.

입력

두 자연수 A와 B가 주어진다. (1 ≤ A, B ≤ 10,000)

출력

첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A*B, 넷째 줄에 A/B, 다섯째 줄에 A%B를 출력한다.

내 제출

a, b = map(int, input().split())



print(a+b)
print(a-b)
print(a*b)
print(a//b)
print(a%b)

결과

정답

사용된 코드 이론

a, b = map(int, input().split()) 풀어서 쓰면 다음과 같은 코드가 됩니다.

x = input().split()    # input().split()의 결과는 문자열 리스트
m = map(int, x)        # 리스트의 요소를 int로 변환, 결과는 맵 객체
a, b = m               # 맵 객체는 변수 여러 개에 저장할 수 있음

파이썬 사칙연산 코드

1. ”/” : 단순 나눗셈 - 가장 기본적인 나눗셈 (float형)

a = 5
b = 3
print("a 나누기 b: ", a/b)

# a 나누기 b: 1.6666666666666667.input 함수를 통해 입력되는 문자열을 .split() 을 통해 문자열을 분할해준다.

2. ”//” : 나눗셈의  - 나눗셈 결과의 ‘몫’을 가져옴

a = 5
b = 3
print("a 나누기 b의 몫:", a//b)

# a 나누기 b의 몫: 1

3. ”%” : 나눗셈의 나머지 - 나눗셈 결과의 ‘나머지’를 가져옴

a = 5
b = 3
print("a 나누기 b의 나머지:", a%b)

# a 나누기 b의 나머지: 2

4. divmod(): 나눗셈의 몫과 나머지(튜플 형식) - 나눗셈 결과의 ‘몫’과 ‘나머지’를 한번에 가져옴

나눗셈 연산을 수행하고, 그 연산의 결과인 몫과 나머지를 튜플형식으로 한번에 가져옵니다.

따라서 이 결과를 변수에 넣어 사용할 때에는, 2개의 변수가 필요합니다.

a = 5
b = 3
c, d = divmod(a, b)
print("a 나누기 b의 몫:", c, "/ 나머지:", d)

# a 나누기 b의 몫: 1 / 나머지: 2


해당문제에서 요구한 사항은 몫을 출력하는 것을 원했으므로 나눗셈 연산자는 / 가 아닌 //를 사용하는것이 옳다.

참고문헌

파이썬 코딩 도장: 22.6 리스트에 map 사용하기

[Python] 파이썬 나눗셈 나머지, 몫 구하기 ( / , %, // , divmod) — 개발하는 사막여우