상세 컨텐츠

본문 제목

파이썬 while 반복문 개념정의와 예제풀이

IT 공부/데이터분석

by 듀_77 2020. 7. 2. 19:37

본문

반응형

#1-23, 24

오늘은 파이썬 while문에 대해서 정리해보려고한다.

반복문에는 for와 while이 있는데 우선 이것부터 정리!

간단한 개념정리와 문제를 풀어볼 것이다.

 

먼저 개념을 살펴보자면, 위와 같이 코드를 짰을 경우

data=3

while data:

 

while문 안에 있는 코드가 반복적으로 작동한다.

데이터 3을 넣었을때 true가 돼서 3 출력

데이터 3을 넣었을때 연산되는 것이 3-1이므로 2 출력

데이터 1을 넣었을때 1-1=0이 되므로,

false가 돼서 빠져나온다.

(형변환했을때 0은 F, 값이 있는 것은 T 취급하니까)

 

→ 데이터를 3으로 정의한 거는 while의 영향을 받지 않는다.

(코드 밖에 있으니까)

 

문제: while문을 이용해서 학생 점수의 총점과 평균을 구하라.

방법 1. 우선 ls로 과목과 점수의 데이터값을 정의해준다.

2. dict 값으로 묶어준다.

3. total과 avg(=average)를 0으로 정의해준다.

4. datas 변수를 만들어서, points 값을 넣을 공간을 만든다.

그 다음 파이썬 while문과 pop을 활용해서 

다음과 같은 코드를 만든다.

 

1. 더해주고

2. 전체값을 len(list의 개수)으로 나눠서 평균값 도출.

 

굳이 pop을 쓰는 이유는 한번씩 더해주고 그 값을 

삭제하기 위함이고,

copy는 len 값도 사라지면 안되니까 써줘야한다.

(원본데이터 유실로 len이 몇개인지 안 나오게 됨)

그래서 전체 코드는 위와 같이 나오게 된다.

머릿속에 아직 위와 같은 구조가 바로 도출되지 않아서

일단 답안 코드를 보고,

 

백지 상태에서 순서대로 코딩하는 방법으로 

공부를 하고 있다.

이건 파이썬 while문의 다른 예제.

문제: 한 문장을 10번 반복시켜보세요.

 

그럼 위와 같은 결과값이 나오게 된다.

그리고 반복문에서 꼭 나오게 되는 무한루프.

라인쪽에 [*] 표시는 실행중이라는 표식이다.

그래서 오류가 뜨게 되고 출력값은 나오지 않는다.

 

왜냐면 무한루프되니까 값이 무한대여서 나올 수가 없다.

이런 건 kernel 탭에서 interrupt로 강제종료해줘야한다.

그리고 이런 무한루프 상태일때는 break를 사용해서

탈출을 할 수 있다.

 

파이썬 while문 안쪽에

break에 대한 조건을 설정해주면 끝!

 

1이 9번 누적되서 10이 나온다.

조금 복잡해지기 시작했는데 익숙해지려면

계속 반복해야할 것 같다.

반응형

관련글 더보기

댓글 영역