안녕하세요
오늘은 파이썬으로 구구단을 만들어보겠습니다.
설명하기에 앞서서
가장 쉽게 출력하는 방법 -> 사용자에게 입력받아서 출력 -> 함수를 통해 분리화하기
이 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의 숫자들이
들어가면서 계산돼서 구구단이 출력됩니다
실행 결과를 보시죠!

'Python > Practice' 카테고리의 다른 글
[Introducing Python 처음시작하는 파이썬] 2.4 연습문제 풀이 (0) | 2019.11.27 |
---|---|
파이썬 구구단 기초 완전 정복 2 | 파이썬 강의 | 파이썬 기초 (0) | 2019.06.22 |
파이썬 tkinter 로 gui 날씨프로그램 만들기 | openweathermap API(날씨api) (0) | 2019.06.22 |