728x90
반응형
SMALL
※반복문이란?
▶ for문의 개념
- 기본적인 반복문으로, 반복 범위를 지정하여 반복을 수행
- for문으로 반복문을 만들 경우 먼저 for를 입력하고 반복되는 범위를 지정해야 함
range 문법 : for 변수 in range(시작 번호, 마지막 번호, 증가값)
- 마지막 번호의 마지막 숫자 바로 앞까지 리스트를 만듬
- range(1, 5) : [1, 2, 3, 4], range(0, 5) : [0, 1, 2, 3, 4] 리스트 작성
- 시작 번호와 증가 값은 생략 가능, 생략했을 경우 시작 번호는 0을, 증가값은 1을 사용
### for문 사용 방법 ###
# for i in list:
# for i in range(start, end, step) :
for i in range(10): #ranfe(0,10,1)
print(i)
# 실행결과
0
1
2
3
4
5
6
7
8
9
for looper in [1,2,3,4,5]:
print('hello', looper)
# 실행결과
hello 1
hello 2
hello 3
hello 4
hello 5
for i in [10, 20, 30, 40, 50]:
print(i)
# 실행결과
10
20
30
40
50
* 문자열은 리스트와 같은 연속적인 데이터를 표현, 각 문자를 변수 i에 할당하여 반복문 사용 화면에 출력
for i in 'abcdefg':
print(i)
# 실행결과
a
b
c
d
e
f
g
* 문자열로 이루어진 리스트의 값 반복문 사용
colors=['red', 'green', 'blue', 'pink', 'black', 'white']
print(colors)
for i in colors: # 이중 for문
for j in i:
print(j, end=' ')
print()
# 실행결과
['red', 'green', 'blue', 'pink', 'black', 'white']
r e d
g r e e n
b l u e
p i n k
b l a c k
w h i t e
* range 구문을 이용하여 1부터 9까지 2씩 증가시키는 for문
for i in range(1, 10, 2):
print(i, end=" ")
# 실행결과
1 3 5 7 9
* range 구문을 이용하여 10부터 2까지 1씩 감소시키는 반복문
for i in range(10, 1, -1):
print(i, end=" ")
# 실행결과
10 9 8 7 6 5 4 3 2
▶ while문의 개념
- 어떤 조건이 만족하는 동안 명령 블록을 수행하고, 해당 조건이 거짓일 경우 반복 명령문을 더이상 수행하지 않는 구문
### while문 ###
i=1
while i<10:
print(i)
i+=1
# 실행결과
1
2
3
4
5
6
7
8
9
▶ 반복문의 제어 : break문
- 반복문에서 논리적으로 반복을 종료하는 방법
### 반복문의 제어 : break문 ###
sum=0
for i in range(100):
sum+=i
if(sum>=50):
break
print(i, sum)
print('for end : ',i,sum)
# 실행결과
0 0
1 1
2 3
3 6
4 10
5 15
6 21
7 28
8 36
9 45
for end : 10 55
▶ 반복문의 제어 : continue문
- 특정 조건에서 남은 명령을 건너뛰고 다음 반복문을 수행
sum=0
for i in range(1, 10):
sum+=i
if(i%5==0): # i가 5인 경우 i를 출력하지 않음
continue
print(i, sum)
# 실행결과
1 1
2 3
3 6
4 10
6 21
7 28
8 36
9 45
▶ 반복문의 제어 : else문
- 어떤 조건이 완전히 끝났을 때 한번 더 실행해주는 역할
for i in range(10):
print(i)
else:
print("End of Program")
# 실행결과
0
1
2
3
4
5
6
7
8
9
End of Program
▶ 문자열 역순 출력
- reverse_sentence : 입력된 문자열을 역순으로 출력하는 변수
sentence="I love you"
reverse_sentence=' '
for char in sentence:
reverse_sentence = char + reverse_sentence
print(reverse_sentence)
reverse2=sentence[::-1]
print(reverse2)
# 실행결과
uoy evol I
uoy evol I
# 실습 내용 : 평균 구하기(학생별 평균 구하기)
kor = [49, 80, 20, 100, 80]
math = [43, 60, 85, 30, 90]
eng = [49, 82, 48, 50, 100]
score=[kor, math, eng]
print(score)
student_score=[0.0, 0.0, 0.0, 0.0, 0.0]
# 이중 for문
for i in range(len(score)):
for j in range(len(score[i])):
student_score[j]+=score[i][j]
a,b,c,d,e=student_score
student_score=[a/3, b/3, c/3, d/3, e/3]
print(student_score)
# 석차 구하기
student_rank = [1,1,1,1,1]
for i in range(len(student_score)):
for j in range(len(student_score)):
if student_score[j] > student_score[i]:
student_rank[i]+=1
print(student_rank)
# 실행결과
[[49, 80, 20, 100, 80], [43, 60, 85, 30, 90], [49, 82, 48, 50, 100]]
[47.0, 74.0, 51.0, 60.0, 90.0]
[5, 2, 4, 3, 1]
728x90
반응형
LIST
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 조건문(conditional statement) (0) | 2021.12.06 |
---|---|
[Python] 리스트(List) (0) | 2021.12.05 |
[Python] 변수와 자료형 (0) | 2021.12.05 |
[Python] 아나콘다/ 주피터 노트북(Anaconda/jupyter notebook) 설치하기 on windows (0) | 2021.12.04 |
댓글