for 변수명 in 리스트명 혹은 리스트:
실행문
my_list = [2, 3, 5, 7, 11]
for number in my_list:
print(number)
2
3
5
7
11
<형식>
for 변수명 in range(start, stop): # start부터 **stop-1까지!**
실행문
<예시>
for i in range(3,11):
print(i)
3
4
5
6
7
8
9
10 # 11까지가 아님에 유의!
<형식>
for 변수명 in range(stop): # 0부터 **stop-1까지!**
실행문
<예시>
for i in range(10):
print(i)
0
1
2
3
4
5
6
7
8
9
<형식>
for 변수명 in range(start, stop, step): # 0부터 **stop-1까지 step간격으로**
실행문
<예시>
1-1.
for i in range(3, 17, 3):
print(i)
3
6
9
12
15
1-2.
for i in range(3, 16, 3):
print(i)
3
6
9
12
15
1-3.
for i in range(3, 15, 3):
print(i)
3
6
9
12
numbers = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31]
for i in range(len(numbers)):
print(i, numbers[i])
0 2
1 3
2 5
3 7
4 11
5 13
6 17
7 19
8 23
9 29
10 31
2^0 = 1
부터 2^10 = 1024
까지 출력)<나의 답안>
for i in range(0, 11):
result = 2 ** i
print("2^{} = {}".format(i, result))
2^0 = 1
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
2^5 = 32
2^6 = 64
2^7 = 128
2^8 = 256
2^9 = 512
2^10 = 1024
<모범 답안>
for i in range(11):
print("{}^{} = {}".format(2, i, 2 ** i))
*format에서 만들수 있는 건 만들기, 간략하게!
<나의 답안> = <모범 답안> !!!!!
for i in range(1, 10):
for j in range(1, 10):
print("{} * {} = {}".format(i, j, j * i))
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
.
.
.
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81
<나의 답안>
for i in range(1, 200):
for j in range(1, 200):
for n in range(1, 200):
if (i ** 2) + (j ** 2) == (n ** 2) and i + j + n ==400 and i < j < n:
print(i * j * n)
2040000
<모범 답안>
for a in range(1, 400):
for b in range(1, 400):
c = 400 - a - b
if a * a + b * b == c * c and a < b < c:
print(a * b * c)
*내 코드는 실행해봤을 때 오랜 시간이 걸리는 코드, 하지만 200 대신 더 큰 숫자가 들어갈 수 있다는 걸 감안하면 너무 오래 걸려서 사용하기 힘들다. = “비효율적 알고리즘”
—> 조건을 잘 활용해서 효율적인 코드 작성하려 노력하기 !
<모범 답안>
numbers = [2, 3, 5, 7, 11, 13, 17, 19]
# 리스트 뒤집기
for left in range(len(numbers) // 2):
# 인덱스 left와 대칭인 인덱스 right 계산
right = len(numbers) - left - 1
# 위치 바꾸기
temp = numbers[left]
numbers[left] = numbers[right]
numbers[right] = temp
print("뒤집어진 리스트: " + str(numbers))
뒤집어진 리스트: [19, 17, 13, 11, 7, 5, 3, 2]