본문 바로가기

Python/Practice

파이썬 구구단 기초 완전 정복 1 | 파이썬 강의 | 파이썬 기초

안녕하세요

오늘은 파이썬으로 구구단을 만들어보겠습니다.

 

설명하기에 앞서서

가장 쉽게 출력하는 방법 -> 사용자에게 입력받아서 출력 -> 함수를 통해 분리화하기

 

3가지의 단계로 코딩을 해보도록 하겠습니다.

우선 가장 쉬운 방법!

 

그냥 출력하는 것이죠 즉 일일이 손으로 만들어가면서 구구단을 만들기입니다.

 

 

 

   
print('|------구구단 출력 프로그램------|')
print('|                                |')
print('|        2 * 1 =',2*1,'              |')
print('|        2 * 2 =',2*2,'              |')
print('|        2 * 3 =',2*3,'              |')
print('|        2 * 4 =',2*4,'              |')
print('|        2 * 5=', 2*5,'              |')
print('|        2 * 6 =',2*6,'             |')
print('|        2 * 7 =',2*7,'             |')
print('|        2 * 8 =',2*8,'             |')
print('|        2 * 9 =',2*9,'             |')
print('|                                |')
print('|--------------------------------|')

 

소스를 보시면

print('| 2 * 1 =',2*1,' |') 이와 같이 '' 작은따옴표로 묶여있습니다.

 

조금 더 편하게 보시면!

print( ' | 2 * 1 = ' , 2*1 , ' | ' )

빨간색 작은따옴표 안 | 2 * 1 =

파란색 작은따옴표 안 |

초록색 쉼표 2*1

 

위의처럼 구성되어있습니다

print 문 '', "" 안에 있는 문자, 숫자, 기호 등을 출력합니다.

중간에 쉼표로, 묶인  2*1  수식은 계산되어서 나옵니다.

 

그러면 출력 결과는 어떻게 될까요?

 

 

 

자 다음은 사용자에게 구구단 몇 단을 출력할 건지 물어보고

사용자가 출력할 구구단을 출력합니다.

 

1. 구구단 몇 단을 출력하고 싶은지 물어보려면 어떻게 해야 할까요?

물어볼 말을 사용자에게 출력해주면 되겠지요!

print('구구단 몇 단을 출력하고 싶은가요?')

이런 식으로 물어보면 됩니다.!

 

2. 원하는 구구단을 출력하기 위해서 먼저 해야 할 것은 무엇일까요?

구구단을 어떻게 출력해야 하나 생각하고 계시는 분들도 있을 거 같습니다.

맞습니다 하지만 질문을 하고 사용자가 원하는 구구단을 입력할 겁니다.

그러면 그 구구단을 저장을 해야겠죠? 만약에 저장하지 않으면 어떤 구구단을

출력해야 할지 모르고 아무 구구단이나 출력해 줄 수 없기 때문입니다.

 

 

제가 왜 저런 질문을 했을까요? 한번 생각해보고 밑에 글을 봐주세요

       
print('|------구구단 출력 프로그램------|')
print('|                                |')
print('|     몇단을 출력하시겠습니까?   |')
print('|                                |')
print('|--------------------------------|')




Num = input("숫자를 입력해주세요")

userNum = int(Num)

if 2 <= userNum :

  subject = [1,2,3,4,5,6,7,8,9]

  for multiplied in subject:
      print(userNum,"*",multiplied,"=",userNum*multiplied)
  
else:
    print("잘못 입력하셨습니다.")

 

여기서 봐야 할 건 if 문이랑 for 문 그리고 형 변환입니다.

 

전체적인 흐름

몇 단을 출력할 것입니까? -> 형 변환 -> if 문에서 조건 확인 ->

-> 조건이 true 이면 for 문 실행

 

형 변환

기존의 형태를 바꾸어 새로운 형태로 변화한다

 

 

왜 형 변환을 하였느냐가 중요합니다.

사용자한테 입력을 받은 상태는 str(문자형)의 상태입니다.

하지만 구구단은 2단부터 시작하기 때문에

" 2<= 사용자가 입력한 구구단 " 이 조건으로 검사를 하였는데

숫자가 아니면 오류가 나기 때문에 형 변환하였습니다.

 

 

if 2 <= userNum :

 

subject = [1,2,3,4,5,6,7,8,9]

 

for multiplied in subject:

print(userNum,"*",multiplied,"=",userNum*multiplied)

 

else:

print("잘못 입력하셨습니다.")

 

 

 

위에 보시면 빨간색으로 표시한 것이 if 문입니다.

if ( ) :  빨간색으로 표시한 괄호 안에 있는 조건문( 2<= userNum ) True 일 때 아래의

 

코드들(subject, for 문) 실행된다.

 

하지만 True가 아닌 false 일 때

else:  "잘못 입력하셨습니다" 가 출력된다.

 

 

for multiplied in subject:

print(userNum,"*",multiplied,"=",userNum*multiplied)

 

for A in B :

print(userNum,"*",A,"=",userNum*A)

 

이런 형태로 되어있습니다.

A(multiplied) 안에는 B(subject) 가있다는 의미이고

즉 그러면 multiplied 안에는 숫자 1,2,3,4,5,6,7,8,9 가 들어가 있습니다.

 

반복문을 통해 사용자에게서 입력받은 숫자와 multiplied의 1,2,3,4,5... 9의 숫자들이

들어가면서 계산돼서 구구단이 출력됩니다

 

실행 결과를 보시죠!

 

 

파이썬으로 만든 간단한 구구단 출력프로그램