안경잡이 구루루
백준 2739( 구구단 ) [python] 본문
문제
N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다.
입력
첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다.
출력
출력형식과 같게 N*1부터 N*9까지 출력한다.
나:
Num = int(input())
1<=Num<=9
for i in range(1,10):
result = Num* i
print( Num,'*',i ,'=',result)
완성된 코드는 위와 같다.
Num = int(input())
1<=Num<=9
우선 입력에 대해서 알아본다. input()은 문자열로 입력값을 받기 때문에 int 자료형으로 만들어주고 조건에 맞게 범위를 정해준다
for i in range(1,10):
result = Num* i
print( Num,'*',i ,'=',result)
출력을 보면 일정한 규칙으로 이루어진 것을 알수 있다. 그래서 반복문 for을 사용하기로 한다.
range([start,], stop, [,step]) # 입력받은 숫자에 해당하는 범위 값을 반복 가능한 객체로 만들어 돌려줌 # 실제 범위는 start ~ stop -1 로 돌려줌
range 함수로 1부터 9 까지 수가 i에 대입될 때 마다 구구단의 값의 결과인 result를 만들고 그것을 print 함수를 통해 1줄씩 출력한다.
이때 출력 예제에서 처럼 간격을 만들기 위해 콤마(,)를 이용해 한칸 띄어서 출력하게끔 했다. ( 숫자와 문자는 '+'로 이을 수 없기 때문에)
다른사람:
https://claude-u.tistory.com/18
a=int(input())
for i in range(1,10):
print("%d * %d = %d" %(a, i, a*i))
완성된 코드는 위와 같다.
for i in range(1,10):
print("%d * %d = %d" %(a, i, a*i))
입력값의 부분은 나와 같아서 설명은 생략한다. 봐야 할 것은 print 부분이다.
문자열 포매팅을 사용하였고 대응시킬 각 값은 정수형이기 때문에 %d 를 사용했다. 따로 계산하지 않고 포매팅을 이용해 대응시킬 순서와 개수에맞게 (a, i , a*i )로 표현했다.
<문자열 포매팅>
' %s ' %문자열 | 문자열(string) 대입 |
' %c ' %문자 | 문자( character ) 1개 대입 |
' %d ' %정수 | 정수( integer ) 대입 |
' %f ' %부동소수 | 부동소수( floating-point ) 대입 |
'파이썬(Python) > 문제풀이(백준,BaekJoon)' 카테고리의 다른 글
백준 15552( 빠른 A+B )[ python ] (0) | 2020.05.05 |
---|---|
백준 8393 ( 합 )[ python ] (0) | 2020.05.05 |
백준 2884( 알람 시계 ) [python] (0) | 2020.04.17 |
백준 14681( 사분면 고르기 ) [python] (0) | 2020.04.16 |
백준 2753( 윤년 ) [python] (0) | 2020.04.15 |