상세 컨텐츠

본문 제목

[Python] 구구단 출력하기 파이썬 프로그램 예제

IT & Programming/파이썬 (Python) 공부

by 그림아이 2023. 4. 11. 02:00

본문

반응형

 

이번 시간에는 파이썬으로 구구단을 출력해주는 프로그램을 만들어 보겠습니다. 구구단은 보통 1~9까지 숫자를 각각 1~9까지 곱해서 곱셈을 외우고 공부하기 쉽게 만든 것을 의미합니다. 그런데 이번에는 굳이 1~9 사이의 자연수가 아니더라도 9 이상의 자연수도 9까지 곱한 결과를 출력하고자 합니다. 결과부터 말씀 드리면 이제 어느정도 코딩에 대해 이해가 되셨다면 간단하게while문과 for문으로 처리하면 됩니다.

 

우선 먼저 항상 그랬듯이 사용자로부터 입력 값을 받기 위한 구문부터 시작하겠습니다.

 

while True:
    try:
        input_number = int(input("\n1 이상의 자연수를 입력하세요 : "))
        if input_number == 0:
            print("\n0은 뭘 곱해도 0입니다. 다시 입력해 주세요.")
            continue
        elif input_number < 0:
            print("\n음수의 구구단은 자연수의 구구단에 마이너스 부호만 붙이면 됩니다. 다시 입력해 주세요.")
            continue
        else:
            break
    except:
        print("\n잘 좀 입력해주시죠. :(")
        continue

 

이전에 사용하던 구문에서 약간 변형한 것인데, 사용자가 입력한 것이 정수가 아닌 실수이거나, 문자열이거나 하면 틀렸으니 다시 입력할 것을 요구하고, 0을 입력하면 곱셈에서는 0에 뭘 곱해도 0이니 다시 입력하라고 했고, 음의 정수를 입력하면 음수는 양수의 결과값에 마이너스만 붙이면 되니 다시 입력하라는 메시지를 출력하도록 했습니다. 물론 제대로 잘 입력하면 바로while문을 탈출할 것입니다.

 

이제 사용자가 입력한 값에 1~9까지 차례로 곱해 주기만 하면 됩니다. 첫번째는 while문으로 만들어 봤습니다.

 

n = 1
while n <= 9:
    print(input_number, 'X', n, '=', input_number*n)
    n = n + 1 #or n+=1

 

n이라는 변수가 필요하지만 어쨌든 간단히 해결됐습니다. 결과값은 다음과 같습니다.

1 이상의 자연수를 입력하세요 : 175

175 X 1 = 175

175 X 2 = 350

175 X 3 = 525

175 X 4 = 700

175 X 5 = 875

175 X 6 = 1050

175 X 7 = 1225

175 X 8 = 1400

175 X 9 = 1575

 

반응형

 

두 번째는 for문을 이용해서 만들어 봤습니다.

 

for i in range(1, 10):
    print(input_number, 'X', i, '=', input_number*i)

 

while문에 비해 더 간결하고 쉽습니다. 추가로 변수가 필요하지도 않습니다. 물론 결과값도 잘 출력됩니다.

1 이상의 자연수를 입력하세요 : 133

133 X 1 = 133

133 X 2 = 266

133 X 3 = 399

133 X 4 = 532

133 X 5 = 665

133 X 6 = 798

133 X 7 = 931

133 X 8 = 1064

133 X 9 = 1197

 

while문과 for문만 제대로 이해해도 코딩하실 때 에러를 줄이고 간결하고 깔끔하게 잘 만드실 수 있습니다.

 

제가 만든 것이 정답은 아닙니다. 저는 정답이라고 글을 쓰거나 자랑하려고 올리는 것이 아닙니다. 저는 부족한 것 투성이임을 누구보다 잘 알고 있습니다. 그래서 공부를 놓지 못하고 계속하는 것입니다. 반복해서 말씀 드리지만, 저도 처음 공부 시작할 때 누군가에게 도움을 받았으니, 저도 누군가에게 도움을 드리고자 할 뿐입니다. 시작할 때의 그 막막함과 답답함을 저는 너무 잘 알고 있으니까요.

 

끝으로…

 

프로그램 언어 공부는 이렇게 갑자기 만들고 싶은 것이 있어야 실력이 향상됩니다. 함수를 잔뜩 외운다고 늘지 않습니다. 직접 프로그램을 만들어 보고, 책이나 인터넷에서 남이 만든 코딩을 영어 해석하듯이 해석해보고, 때론 응용도 하면서 씹고, 뜯고, 맛보고, 즐기고 해야 합니다. 저도 그랬습니다. 

 

세상 모든 것이 그러하듯이, 코딩도 꾸준히 하다 보면 실력이 늡니다.

 

 

728x90
반응형

관련글 더보기

댓글 영역