제어문 연습문제 질문
Q3.
While 을 사용해서 아래와 같은 모양을 만들어 보세요.
******* 문제에서 질문 드립니다.
Answer 2
0
안녕하세요 상열님,
위에 작성해주신 코드에서는 변수 b 를 while 문 밖에서 정의했기 때문에 변수 b 의 값은 while 문 밖에서 정의된 a 값(10)이 반영되어 ********** 가 됩니다. while 문이 돌아가면서 a 의 값은 바뀌지만 b 의 값은 while 문 밖에서 정의된 이후로 수정된 적 없기 때문에 ********** 그대로 출력됩니다.
아래에 작성해주신 코드처럼 변수 b 의 값도 while 문 안에서 정의해주셔야 while 문이 돌아가면서 바뀐 a 값에 따라 b 값도 바뀌어 출력됩니다.
또한 위 예제에서는 a 값이 10에서부터 1씩 작아지기 때문에 a 값의 범위는 0 < a < 11 이 아니라 0 < a 로만 작성해주셔도 충분합니다.
답변 확인해보시고 더 궁금한 점 있으시면 질문 남겨주세요.
0
안녕하세요 상열님
첫번째 while문과 두번째 while문의 결과가 다른 것은 조건 조건을 주는 부분에서 헷갈리셨던 거 같아요.
while 0 < a < 11:
a = a - 1 # a값은 -1 만큼 줄어들고 있음
print(a) # 반복문에서 무엇이 문제 인지 모를 때, 헷갈리는 변수를 중간에 출력하는 것을 추천
결과:
9
**********
8
**********
7
**********
6
**********
5
**********
4
**********
3
**********
2
**********
1
**********
0
**********
----------------------
while 0 < a < 11:
결과:
9
*********
8
********
7
*******
6
******
5
*****
4
****
3
***
2
**
1
*
0
즉, b값 변화 식은 아래 조건문에 있었기 때문에 해당 ark가 나왔습니다.
위에서 설명드렸지만, 반복문에서 무엇이 문제인지 모를 때는 해당 변수를 출력해보는 것을 추천드려요
while문을 잘 작성해주셨는데 조건문 관련 변수가 두개(a, b)였기 때문에 더 헷갈리셨던 거 같아요.
이번 기회에 조건문을 작성할 때, 변수를 하나로 작성하는 법을 연습하면 좋을 거 같아요~
작업형 1 (삭제예정, 구 버전)
0
15
1
강의노트는 어디있나요?
0
8
0
노션 학습 자료 권한 요청
0
10
1
수강기간 연장 문의드립니다.
0
12
1
2유형 레이블 인코딩 VS 원핫 인코딩
0
16
3
part2강의 문의사항입니다.
0
14
2
수강기간 연장 문의드립니다.
0
25
1
인덱스 슬라이싱
0
24
2
코드를 첨부해야하는 이유가 있나요?
0
19
2
소리가 겹쳐서 들려요
0
17
2
데스크톱과 노트북 연결
0
24
1
dict, zip
0
21
2
소제목1을 어떻게 넣는지 모르겠어요
0
132
2
파이썬 코드 실행방법
0
1238
1
If 윤년판별기 질문
0
507
2
연습문제 1 질문입니다
0
487
1
if-else 관련하여 질문드립니다
0
244
1
문제 5번 질문이 있어요 (사실 7번도요)
0
250
1
문제 5번답이 잘못된 것 같습니다!
0
322
1
안녕하세요. 딕셔너리 질문드립니다.
0
347
1
pika_age = poketmon_age
0
233
0
split 관련 질문 있습니다 ㅎ
0
394
1
zip 질문
0
280
1
강의교자료 링크가 잘못되었습니다.
0
321
1

