상세 컨텐츠

본문 제목

[Python] 거듭제곱 출력하기 파이썬 프로그램 예제

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

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

본문

반응형

 

이번 시간에는 파이썬으로 거듭제곱을 출력해주는 프로그램을 만들어 보겠습니다. 지난 시간에 구구단을 만들어봤으니 응용만 잘하면 금방 만들 수 있습니다. 간단하게 while문과 for문으로 처리하면 됩니다.

 

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

 

while True:
    try:
        input_number = int(input("\n정수를 입력하세요 [0, 1, -1 제외] : "))
        if input_number == 0:
            print("\n0의 거듭제곱은 모두 0 입니다.")
            continue
        elif input_number == 1:
            print("\n1의 거듭제곱은 모두 1 입니다.")
            continue
        elif input_number == -1:
            print("\n-1의 거듭제곱은 1에 부호만 바뀝니다.")
            continue
        else:
            break
    except:
        print("\n잘 좀 입력해주시죠. :(")
        continue

 

이전에 사용하던 구문을 약간 변형해봤습니다. 매번 똑같으면 재미가 없으니까요. 사용자가 정수만 입력하도록 했고, 입력한 것이 정수가 아닌 실수이거나, 문자열이거나 하면 틀렸으니 다시 입력할 것을 요구합니다. 분명히 맨 처음에 0, 1, -1을 제외한 정수를 입력하라고 했음에도 굳이 0을 입력하면 0에 아무리 큰 수를 제곱해도 0이니 다시 입력하라고 했고, 1을 입력하면 역시 아무리 제곱을 해도 1이니 다시 입력하라고 했습니다. 추가로 -1을 입력하면 값은 1이고 부호만 계속 바뀌니 다시 입력하라고 해두었습니다. 물론 제대로 잘 입력하면 바로 while문을 탈출할 것입니다.

 

반응형

 

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

 

n = 0
while n <= 9:
    print(input_number,'의', n, '제곱은', input_number ** n,'입니다.')
    n = n + 1 #or n+=1

 

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

정수를 입력하세요 [0, 1, -1 제외] : 2

2 의 0 제곱은 1 입니다.

2 의 1 제곱은 2 입니다.

2 의 2 제곱은 4 입니다.

2 의 3 제곱은 8 입니다.

2 의 4 제곱은 16 입니다.

2 의 5 제곱은 32 입니다.

2 의 6 제곱은 64 입니다.

2 의 7 제곱은 128 입니다.

2 의 8 제곱은 256 입니다.

2 의 9 제곱은 512 입니다.

 

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

 

for i in range(0, 10):
    print(input_number,'의', i, '제곱은', input_number ** i,'입니다.')

 

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

정수를 입력하세요 [0, 1, -1 제외] : 3

3 의 0 제곱은 1 입니다.

3 의 1 제곱은 3 입니다.

3 의 2 제곱은 9 입니다.

3 의 3 제곱은 27 입니다.

3 의 4 제곱은 81 입니다.

3 의 5 제곱은 243 입니다.

3 의 6 제곱은 729 입니다.

3 의 7 제곱은 2187 입니다.

3 의 8 제곱은 6561 입니다.

3 의 9 제곱은 19683 입니다.

 

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

 

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

 

끝으로…

 

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

 

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

 

 

728x90
반응형

관련글 더보기

댓글 영역