파이썬 중첩 while문 구구단 - paisseon jungcheob whilemun gugudan

Ex06-중첩while문을 통한 구구단 출력

CODEDRAGON Development/C, C++

중첩while문을 통한 구구단 출력

소스코드

#include <stdio.h>

int main(void) {

//초기값

int i=2; // 2단부터

int j=1; // 2*1에서 1변수 초기화

int result=0; // 구구단의결과저장변수

//조건값

while(i<10) { // 9단까지

while(j<10) {

result=i*j;

printf("%d * %d = %d \n", i, j, result);

j++;

}

//증감값

i++; // 단을증가

j=1; // 단의시작 (초기화)

printf("--------------\n");

}

return 0;

}

출력값

파이썬 중첩 while문 구구단 - paisseon jungcheob whilemun gugudan

프로그래밍 핵심 개념 in Python제어문구구단

중첩 while문

2021년 3월 2일

220 조회

답변 2

체리마루

LV

26

파이썬 중첩 while문 구구단 - paisseon jungcheob whilemun gugudan

체리마루

LV

26

파이썬 중첩 while문 구구단 - paisseon jungcheob whilemun gugudan

질문 지켜보기를 시작하면 질문에 답변, 댓글이 달릴 때 알림을 받을 수 있어요.

댓글 0개

0

Pumpkinjam

2021년 3월 2일

LV

31

파이썬 중첩 while문 구구단 - paisseon jungcheob whilemun gugudan

댓글 0개

0

QuiD

2021년 3월 2일

LV

16

파이썬 중첩 while문 구구단 - paisseon jungcheob whilemun gugudan

댓글 2개

2

2021년 3월 2일

i를 0으로 초기화하면 2 * 0 = 0 과 같이 구구단의 범위에서 벗어나는 경우까지 출력이 되어버리기 때문에, 1으로 설정해야 하지 않을까용?

2021년 3월 2일

아 글에서 i=1이엿네요 제가 아무생각없이 0으로 초기화한거같아요

질문 지켜보기

질문 지켜보기를 시작하면 질문에 답변, 댓글이 달릴 때 알림을 받을 수 있어요.

while

while은 주어진 조건이 참일 동안 작업을 반복하게 하는 구문입니다.

문법

while condition:
    statement
  • condition : 작업을 하기 위한 조건입니다. 참일 동안 반복 작업을 합니다.
  • statement : 반복할 작업입니다.

예제

i가 10보다 작으면 i을 출력합니다. 작업할 때마다 i는 1씩 커지고, i가 10이 되면 while문을 빠져나옵니다.

i = 1
while i < 10:
    print(i, end=' ')
    i = i + 1
1 2 3 4 5 6 7 8 9

while문 안에 while을 넣을 수 있습니다. 다음은 구구단 중 2단과 3단을 출력하는 예제입니다.

i = 1
while i < 3:
    i = i + 1
    j = 1
    while j < 10:
        print(i, 'X', j, '=', i*j)
        j = j + 1
2 X 1 = 2
2 X 2 = 4
2 X 3 = 6
2 X 4 = 8
2 X 5 = 10
2 X 6 = 12
2 X 7 = 14
2 X 8 = 16
2 X 9 = 18
3 X 1 = 3
3 X 2 = 6
3 X 3 = 9
3 X 4 = 12
3 X 5 = 15
3 X 6 = 18
3 X 7 = 21
3 X 8 = 24
3 X 9 = 27

break를 넣으면 while문을 빠져나옵니다. 다음은 input()으로 입력받은 수까지만 구구단을 출력하는 예제입니다.

x = int(input('Number : '))
i = 1
while i < 10:
    i = i + 1
    j = 1
    while j < 10:
        print(i, 'X', j, '=', i*j)
        j = j + 1
    if i == x:
        break
Number : 4
2 X 1 = 2
2 X 2 = 4
2 X 3 = 6
2 X 4 = 8
2 X 5 = 10
2 X 6 = 12
2 X 7 = 14
2 X 8 = 16
2 X 9 = 18
3 X 1 = 3
3 X 2 = 6
3 X 3 = 9
3 X 4 = 12
3 X 5 = 15
3 X 6 = 18
3 X 7 = 21
3 X 8 = 24
3 X 9 = 27
4 X 1 = 4
4 X 2 = 8
4 X 3 = 12
4 X 4 = 16
4 X 5 = 20
4 X 6 = 24
4 X 7 = 28
4 X 8 = 32
4 X 9 = 36

continue를 만나면, 그 이후의 구문은 실행하지 않고, while문의 처음으로 돌아갑니다. 다음은 10보다 작은 홀수를 출력하는 예제입니다. 2로 나눈 나머지가 0이면, 즉 짝수이면 print문을 실행하지 하지 않고 i의 값을 1 증가시킵니다.

i = 0
while i < 10:
    i = i + 1
    if i % 2 == 0:
        continue
    print(i, end=" ")
1 3 5 7 9

파이썬 예제 : 구구단 #12

예제를 풀면서 파이썬(Python)을 익혀 보도록 하겠습니다.
- 알고 있지만 생각의 전환이 필요한 코딩인 구구단입니다.

- 응용을 좀 해야 하는데요.

- 구구단은 반복의 반복이라는 점을 생각해서 코딩해 보시기 바랍니다.

문제

구구단을 출력해 보세요.

출력 예시

while문을 사용해서 구구단 프로그램을 만들어 봅시다. 실행하면 아래와 같은 결과물이 출력되어야 합니다.

1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
.
.
.
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81

참고로 이 문제는 '중첩 while문'이라는 개념을 사용해야 하는데요. 중첩 while문은 while문의 수행 부분 안에 또 다른 while문을 넣는 것을 이야기 합니다. 제가 특별히 설명드리지 않은 개념이지만, 조금 고민하다 보면 여러분이 직접 알아내실 수도 있습니다. 도저히 생각이 안 난다면 힌트를 참고해 주세요!

힌트

1. 우선 while문 하나만 사용해서, 1 * 1 = 1부터 1 * 9 = 9까지 1단만 출력해 보세요. 여기까지는 아직 중첩 while문이 필요 없습니다!

2. 1단만 출력하는 코드입니다.

j = 1
while j <= 9:
    print("{} * {} = {}".format(1, j, 1 * j))
    j += 1

여기서 조금 발전시키면 1단부터 9단까지 할 수 있는데요. 중첩 while문 개념을 어떻게 활용할지 잘 생각해 보세요.

3. 처음 갈피를 잡지 못하는 경우가 많아, 틀을 제공해 드리겠습니다!

i = 1
while i <= 9:
    j = 1
    while j <= 9:
        # 코드를 작성하세요.
        j += 1
    i += 1

정답

main.py
i = 1

while i <= 9:
    j = 1
    while j <= 9:
        print(f"{i} * {j} = {i*j}")
        j += 1
    i += 1
파이썬 중첩 while문 구구단 - paisseon jungcheob whilemun gugudan
PYTHON 프로그래핑