파이썬 구구단을 만드는 5가지 방법!

2019. 11. 14. 06:30

파이썬을 배우는 데 예제를 해 보는 것 만큼 좋은 방법도 없다. 여러가지 예제가 있지만 가장 많이 해 보는 것 중의 하나는 구구단이 아닐까 싶다. 구구단을 만드는 방법은 여러가지가 있을 것이다.

오늘은 파이썬 구구단을 만드는 5가지 방법에 대해서 알아보도록 하겠다.


파이썬_구구단



구구단을 하나씩 다 칠 수도 있지만, 실제 그렇게 하는 사람은 없을 것이다. 구구단의 핵심은 반복문이다. 파이썬에는 for문, while문 2개의 반복문이 있고 이를 이용해서 구구단을 만들 수 있다.



1. for문 이용하기

가장 많이 하는 방법일 듯 싶다. 2부터 9까지 숫자를 반복시키는 for문을 만들고, 그 안에 1부터 9까지 반복하는 for문을 넣는 것이다.


1
2
3
4
5
6
 
for i in range(1,10):
    for j in range(1,10):
 
    print("{} * {} = {}".format(i, j, i*j))
 
cs



2. while문 이용하기

while문도 반복문이기 때문에 동일하게 할 수 있다. 9까지 반복시켜야 되기 때문에 10보다 작은 조건에서 반복되게 하면 된다.


1
2
3
4
5
6
7
8
9
10
 
= 2
 
while(i<10):
j = 1
    while(j<10):
        print("{} * {} = {}".format(i, j, i*j))
        j+=1
    i+=1
 
cs


반복문을 제외하고 구구단을 만들기는 쉽지 않다. 반복문을 이용하되 안에 들어가는 자료형을 바꿔 봤다. 만드는 방법을 늘리려고 해봤지만, 하고보니 사실 다 비슷하다.



3. list를 이용해서 for문 돌리기

리스트 자료형도 for문을 돌릴 수 있기 때문에, 리스트를 만들어서 for문을 돌려봤다.


1
2
3
4
5
6
7
8
 
num_list = [123456789]
 
for i in num_list:
    for j in num_list:
 
        print("{} * {} = {}".format(i, j, i*j))
 
cs



4. numpy의 ndarray 자료형으로 for문 돌리기

위의 예와 비슷하게 numpy자료형을 만들어서도 할 수 있다.


1
2
3
4
5
6
7
8
9
10
 
import numpy as np
 
num_lsit = np.arrage(1101)
 
for i in num_list:
    for j in num_list:
 
        print("{} * {} = {}".format(i, j, i*j))
 
cs



5. 리스트와 for문 한 줄에 쓰기

파이썬에서는 리스트와 for문을 한 줄에 작성할 수 있다. 처음에는 어색하지만 자주 사용하다보면 굉장히 편리한 것을 알 수 있다. if문과 for문을 한 줄에 쓰는 문법에 대해서는 아래 포스팅을 참조해보자.
( 참조: 파이썬 문법 for문과 if문 한 줄에 코딩하기 )


1
2
3
4
5
6
 
temp = [[j , i , j*i ] for j in range(1,10for i in range(1,10)]
 
for i in temp:
    print("{} * {} = {}").format(i[0], i[1], i[2])
 
cs



오늘은 이렇게 파이썬 구구단을 만드는 5가지 방법에 대해서 알아보았다. 구구단은 1부터 9까지 숫자가 반복되어야 한다. 그래서 반복문을 사용해야 하고, 이 반복문을 어떤 문법으로 돌리느냐에서 여러가지 방법을 적용해 보았다. 반복문은 코딩에서 많이 사용되는 문법이 잘 익혀두는 것이 좋을 듯 하다.


몇 가지 팁이나 방법을 알면 파이썬을 더 효율적으로 코딩할 수 있는 방법들이 있다. 자세한 내용이 궁금하다면, 아래 링크를 참조해보자.
( 참조: 파이썬 효율적인 코딩팁과 방법들 )


파이썬을 직접 활용하는 것만큼 효과적인 공부는 없다. 그래서 파이썬을 활용해서 할 수 있는 일드을 정리해보았다. 자세한 내용은 아래 포스팅을 참조해보자.
( 참조: 파이썬 활용, 파이썬 프로젝트로 할 수 있는 일들을 알아보자! )

댓글()
  1. zzzzzzz 2020.09.17 22:28 댓글주소  수정/삭제  댓글쓰기

    이거 3번 while문 j가 정의 안되서 실행이 안 되는데요?ㅋㅋ