TIL | 파이썬 기초 # 6
🫣 for 반복문
<for 반복문 형식>
for 변수명 in 리스트명 혹은 리스트:
실행문
<예시>
my_list = [2, 3, 5, 7, 11]
for number in my_list:
print(number)
2
3
5
7
11
range 함수
1.파라미터 2개 버전
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까지가 아님에 유의!
2.파라미터 1개 버전
<형식>
for 변수명 in range(stop): # 0부터 **stop-1까지!**
실행문
<예시>
for i in range(10):
print(i)
0
1
2
3
4
5
6
7
8
9
3.파라미터 3개 버전
<형식>
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
실습
1.인덱스와 원소 함께 출력하기
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.2의 n 제곱을 출력하기 (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에서 만들수 있는 건 만들기, 간략하게!
3.for문 사용하여 구구단 만들기 (for문 중첩!!)
<나의 답안> = <모범 답안> !!!!!
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
4.피타고라스 삼조 중 a < b < c라고 가정할 때, a + b + c = 400을 만족하는 피타고라스 삼조의 a b c를 구하기
<나의 답안>
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 대신 더 큰 숫자가 들어갈 수 있다는 걸 감안하면 너무 오래 걸려서 사용하기 힘들다. = “비효율적 알고리즘”
—> 조건을 잘 활용해서 효율적인 코드 작성하려 노력하기 !
5.for문을 사용하여 리스트를 꺼꾸로 뒤집어 보기
<모범 답안>
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]
Author And Source
이 문제에 관하여(TIL | 파이썬 기초 # 6), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sihaha/TIL-파이썬-기초-6저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)