1. 파이썬 문법 / 반복문
더보기
더보기
1) 반복 횟수를 범위로 표현하는 법(10번)
사용 할 수 없는 경우
1 < x <= 11
1 <= x < 11
사용 할 수 있는 경우
0 <= x <= 9
0 < x <= 10
0 <= x < 10
결론
0 <= x < 10
이유는, 1. 컴퓨터는 0부터 시작하기 때문이다. 2. 인간은 10번 반복한다고 자연스럽게 인식 가능하기 때문이다.
2) range() 사용하는 방법
(1) range(시작, 끝, 증감폭)
print(range(10)) #시작이 생략이 되면 0이 된다.
print(range(0,10)) #증감폭은 생략이 되면 1이 된다.
print(range(0,10,1)) #증감폭 생략이 가능한 모습.
>
range(0, 10)
range(0, 10)
range(0, 10)
(2) list를 사용한 range 활용법
# 0 <= x <= 4 (x)
# 0 <= x < 5 (o)
list(range(0,5,1))
>
[0, 1, 2, 3, 4]
3) for 반복문
(i는 integer,정수)
(1) while 반복문과 다른 점?
while은 뒤의 조건이 True면 계속 반복하는 반면
while True : #조건이 True면
print("Hello") #Hello를 출력한다.
>
Hello(무한반복 됨)
for 반복문은 반복횟수를 정해줘야 한다는 점이다.
for i in range(5):
#range 범위 안에 있는 것들을 하나씩 가져와서 i에 저장하고 아래를 실행함
#더 이상 가져올 것이 없으면 반복하지 않음
#0, 1, 2, 3, 4를 각각 가져오고 난 뒤 가져올 것이 없으니 종료되었음
print(i)
#1개씩 출력한다.
>
0
1
2
3
4
(2) 하지만 while도 반복횟수를 제한하는 방법이 있다.
break을 쓰는 방법
while True :
if True :
break
print("Hello")
조건문이 false가 되도록 유도하는 방법
flag = 0
while flag < 5 : #flag 변수가 5이상이 되면 false가 되면서 반복하지 않음
flag += 1 #flag 변수에 1씩 더 함.
print("Hello")
(3) 리스트 사용
for a in list(range(5)): #리스트에 들어있는 값을 하나씩 가져와서
print("Hello", a) #출력한다
a = "hello"
lst = [1, "e", [6,7], a]
for a in lst :
# lst 변수의 첫번째 요소를 가져와서 변수 a에 할당한다(1)
# lst 변수의 두번째 요소를 가져와서 변수 a에 할당한다("e")
# lst 변수의 세번째 요소를 가져와서 변수 a에 할당한다([6,7])
# lst 변수의 네번째 요소를 가져와서 변수 a에 할당한다(a = "hello")
print("Hello", a)
(4) for문 활용하기
5명의 점수 리스트를 반복하기
marks = [90, 25, 67, 45, 95]
for b in marks:
if b >= 60:
print("합격")
else:
print("불합격")
위 for문을 if문으로 표현하면 굉장히 긴 코드가 된다.
if marks[0] >= 60:
print("합격")
else:
print("불합격")
if marks[1] >= 60:
print("합격")
else:
print("불합격")
if marks[2] >= 60:
print("합격")
else:
print("불합격")
if marks[3] >= 60:
print("합격")
else:
print("불합격")
if marks[4] >= 60:
print("합격")
else:
print("불합격")
(5) 구구단 만들기
for i in range(2,5):
print(i,"단 :", end=" ")
for j in range(1,10):
print(i*j, end=" ")
print()
>
2 단 : 2 4 6 8 10 12 14 16 18
3 단 : 3 6 9 12 15 18 21 24 27
4 단 : 4 8 12 16 20 24 28 32 36
2. 파이썬 문법 / 되새김 문제
더보기
더보기
1) 3의 배수의 합 구하기
result = 0
i = 1
while i <= 1000:
if i%3 == 0:
result += i
i += 1
print(result)
2) 별 표시하기
i = 0
while True:
i += 1
if i>5 :break
print("*"*i)
3) 1부터 100까지 출력하기
for i in range(1,101):
print(i)