'한국의 수도는?' 실습으로 반복문 연습하기
실습 내용
"한국의 수도는?" 프롬프트 창이 나온다.
정답을 입력하면 → "정답입니다!" 알림창
정답이 아닌 경우 → "틀렸습니다!" 알림 후 다시 프롬프트 창(정답 나올때까지 반복)
최종적으로 이런 플로우로 만들어 봤다.
마침 저번 실습(조건문, 연산자)때 다시 입력하라는 알림창 후 처음으로 돌아가는 플로우로 어떻게 만드나 궁금했는데,
바로 써먹을 수 있는 게 나와서 야호를 외치며 바로 적용해봄
개념 정리
반복문 (Loops)
반복되는 코드를 묶어주는 역할
• for 반복문
for (begin; conditoin; step) {body}
begin | i = 0 | 반복문에 진입할 때 한 번 실행 |
condition | i < 3 | 실행될 수 있는 조건 |
step | i ++ | 결과(body)가 실행된 후에 실행 |
body | console.log(i) | 조건에 맞을 때 실행되는 반복문의 본문 |
예를 들어 아래와 같이 같은 결과를 만들기 위해서는
console.log(1)
console.log(2)
console.log(3)
...
console.log(10)
이렇게 써주면 된다.👇👇👇
for (let i=1; i<=10; i++) {
console.log(i)
}
** 여기서 step 다음에 ;를 쓰면 오류가 뜬다. 마지막엔 세미콜론이 없다는 점,,
** 무한루프도 만들 수 있지만 그러면 컴퓨터가 과부화 걸려서 난리남
(응용하기 > 주석)
• while 반복문
while (condition) {body}
조건에 충족하는 동안 본문 출력
let i=0;
while (i<10) {
i++;
console.log(i)
}
훨씬 간단하다!
완성된 코드
/* for반복문 사용 */
const a = "서울";
let q = prompt("한국의 수도는?");
for (; q !== a; ) {
alert("틀렸습니다!")
prompt("한국의 수도는?")
}
alert("정답입니다!")
/* while반복문 사용 */
const a = "서울";
let q = prompt("한국의 수도는?");
while (q !== a) {
alert ("틀렸습니다!")
q = prompt("한국의 수도는?");
}
alert ("정답입니다!")
정말 오래 걸렸다......
일단 while 반복문이 더 쉬워 보여서 그걸로 먼저 시도했다.
최종적으로 어떤 그림이 나왔으면 좋겠는지는 머리로 그려지는데, 그래서 코드를 어떻게 적으라는건지 막막했음..
일단 프롬프트로 질문과 답을 지정했다.
그리고 이제 루프를 만들어야 했는데, 처음에 잘못 이해해서 답이 "서울"이 나올 때까지 반복해야지!
라는 생각으로 코드에 (q==a) 이렇게 썼다..
알고 난 후에 보니 너무 간단한 거지만 헤매는 동안에는 도무지 이해가 가지 않아서 왜안되지? 왜????? 를 반복했다.
무한루프에 내가 갇힘
아무튼 정리하자면,
(뫄)가 (뫄뫄)인 경우,
(뫄뫄뫄)를 반복
👇
(답)이 (틀릴) 경우,
(질문)을 반복
그렇게 시행착오 끝인 줄 알았는데, for반복문으로 넘어가면서 다시 막혔다.
공부하다 어렴풋하게 "begin" 부분이 없으면 그냥 생략하고 ;만 추가하라고 했던 것 같아서
(; q !== a) 이렇게 넣었는데 오류가 났다.
알고보니 "step" 부분도 생략 가능하긴 한데, ;를 넣어줘야됐던 것..
아무튼 그렇게 어찌저찌 마무리
사실 반복문이 저 두개 말고도 더 있었는데, 이 실습 해보느라 결국 공부 못했다.
이제 공부 먼저 다 하고 나서 실습을 해야겠음
'WEB > javaScript' 카테고리의 다른 글
[javaScript/공부] 연산자 (1) | 2024.12.13 |
---|---|
[javaScript/공부] 형 변환 (0) | 2024.12.12 |
[javaScript/공부] 자료형 (0) | 2024.12.12 |
[javaScript/공부] 코드 구조, 변수와 상수 (0) | 2024.12.12 |
[javaScript/실습] 투표할 수 있나요? (0) | 2024.12.10 |