For 문

heehe·2023년 2월 28일
0

python

목록 보기
9/11
post-thumbnail

For문

리스트 내역 반복할때 유용 (상황에 따라 while문 For문 선택)

my_list = [2,3,5,7,11]

#while문
i = 0
while i < len(my_list):
    print(my_list[i])
    i+=1
    
#for문
for number in my_list:
    print(number)

range 함수

장점 : 간편하고, 깔끔하게 정렬, 메모리 효율성

  • 파라미터 2개 버전 (start부터 stop-1까지의 범위)
for i in range(start,stop):
    print(i)
  • 파라미터 1개 버전 (0부터 stop-1까지의 범위)
for i in range(stop):
    print(i)
  • 파라미터 3개 버전 (start부터 stop-1까지의 범위, 간격 step)
for i in range(start,stop,step):
    print(i)

문제 1

for문과 range 함수를 사용하여, numbers의 인덱스와 원소를 출력해 보세요.

numbers = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31]

for i in range(len(numbers)):
    print(i,numbers[i])

문제 2

"2의 n제곱"을 출력하는 프로그램을 만들려고 합니다.
2^0 = 1부터 2^10 = 1024까지 출력되어야 합니다.

for i in range(11):
    print("{}^{} = {}".format(2, i, 2 ** i))

문제 3

구구단 프로그램을 while문이 아닌 for문을 사용해서 만들어 보세요.

for i in range(1,10):
    for j in range(1,10):
        print("{} * {} = {}".format(i, j, i * j))

문제 4

피타고라스 삼조(a,b,c) 계산

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)

문제 5

리스트 원소들의 순서를 거꾸로 뒤집으려고 합니다.

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))
profile
성장하고픈 ISFJ

0개의 댓글