numbers = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31]
# 인덱스와 원소 출력
# 코드를 입력하세요.
for i in range(len(numbers)):
print("{} {}".format(i, numbers[i]))
for i in range(11):
print("2^{} = {}".format(i, 2**i))
for i in range(1,10):
for j in range(1,10):
print("{} * {} = {}".format(i, j, i * j))
1차시도 문제점
힌트
for a in range(400):
for b in range(400):
for c in range(400):
풀이
for a in range(400):
for b in range(400):
if a < b:
for c in range(400):
if b < c:
if a**2 + b**2 == c**2 and a + b + c == 400:
print(a * b * c)
🙄비효율적인 코드
c=400−a−b
📌for c in range(400): 대신에 a와 b값으로 c값을 구하는 변수를 지정함으로써 3번
중첩루프를 돌려야되었던것을 2번
만 중첩하게함으로 연산량이 훨씬 적어짐
for a in range(400):
for b in range(400):
if a < b:
📌 c = 400 - a - b
if b < c:
if a**2 + b**2 == c**2:
print(a * b * c)
📌 a<b
조건과 for b in range(400):
을 한줄로 적으려면 a보다 적은 b숫자는 필요 없으니 range(a,400)
을 사용하면 보다 간결해진다.
for a in range(400):
📌 for b in range(a, 400):
c = 400 - a - b
if b < c and a**2 + b**2 == c**2:
print(a * b * c)
numbers = [2, 3, 5, 7, 11, 13, 17, 19]
# 리스트 뒤집기
# 코드를 입력하세요.
max_range = len(numbers) // 2
len_of_numbers = len(numbers)
📌for i in range(max_range):
front = numbers[i]
back = numbers[len_of_numbers - 1 - i]
numbers[i] = back
numbers[len_of_numbers - 1 - i] = front
print("뒤집어진 리스트: " + str(numbers))
for i in range(max_range):
numbers[i], numbers[len_of_numbers - 1 - i] = numbers[len_of_numbers - 1 - i], numbers[i]