안경잡이 구루루

백준 2739( 구구단 ) [python] 본문

파이썬(Python)/문제풀이(백준,BaekJoon)

백준 2739( 구구단 ) [python]

구루루(gururu) 2020. 4. 30. 22:21
반응형

문제

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 ) 대입

 

반응형