[python]_제어문(3)_반복문(for)

Hi K·2022년 10월 7일
0

파이썬기초

목록 보기
8/12

<< 제어문 >>

2-2. for 반복문

자료형(리스트, 튜플, 문자열)의 모든 아이템에 대하여 처음부터 마지막까지 차례대로 접근하여 실행문을 적용한다.
▶ 기본 문법
for 임시변수 in 자료형 :
수행할 문장1
수행할 문장2
...
▶ 임시변수
- for 반복문이 실행되면 자료형의 아이템이 차례대로 임시변수에 할당된다.
- 기본적으로 변수는 할당문이 존재해야 하지만 임시변수는 할당문이 필요 없는 객체이다.

  • 하나의 아이템에 접근 : 리스트 자료형
a = [1, 2, 3]
for i in a:
    print('Hello World')    

  • 하나의 아이템에 접근 : 튜플 자료형

    • for in문과 print구문을 이용해 10, 20, 30을 순차적으로 찍어주세요.
tu = 10, 20, 30
for ppp in tu:
    print(ppp)

  • 하나의 아이템에 접근 : 딕셔너리 자료형
    • 딕셔너리 자료형에 대해서는 반복문 접근시 key값 기준으로 접근됨
    • 따라서 딕셔너리 접근은 .keys()요소에 접근하는 것과 결과가 동일함
d1 = {'a':1, 'b':2, 'c':3}
'a' in d1

d1 = {'a':1, 'b':2, 'c':3}
1 in d1

for key in d1:
    print(key)

for key in d1.keys():
    print(key)

  • 딕셔너리에 대해서 items()로 접근시 key, value 쌍으로 묶인 자료가 출력됩니다
d1.items()

  • 튜플을 대상으로 대입받을때는 요소 개수만큼 좌변에 대입하면 나눠서 대입되는 점을 이용한 테크닉
for k, v in d1.items():
    print('키값', k, '밸류값', v)

list_d1 = list(d1.items())
list_d1[2]

range 함수

지정된 시작값과 끝값 사이의 숫자들을 자동으로 생성하여 range 객체로 반환하는 함수

문법 : range(시작하는 값, 끝나는 값,[간격])
특징 : 슬라이싱과 유사하게 끝나는 값은 포함되지 않는다

  • range()를 list로 감싸야 변환됨,
    그러나 변환하지 않아도 for문에서 사용가능
list(range(1,6)) 

  • 1 ~ 5 까지 출력하기 위해 사용하는 range()함수의 예
for i in range(1,6):
    print(i)

  • range의 시작값이 0이라면 숫자를 하나만 넣는다
    range(숫자하나)를 넣으면 적힌 숫자바퀴만큼 돈다.
for i in range(5):
    print(i)

  • 세 번째 숫자는 증가값이 아닌 증감값이므로 음수가 들어갈 수 있다.
    이 경우 시작숫자가 목표값보다 큰 숫자에서 시작해야 한다.
for i in range(5, 0, -1):
    print(i)

중첩 반복문

반복문 내부에 반복문을 작성하는 것을 중첩반복문이라고 한다
반복 횟수는 안쪽 반복문 * 바깥쪽 반복문이다
동작 이해가 상당히 어렵기 때문에 여러번 연습해주세요

  • 인터벌 트레이닝 : 좌,우로 3번씩 다녀오시면 그게 1세트입니다
    왔다갔다 3회 * 4세트 실시!
for j in range(4): # j블럭
    for i in range(3): # i블럭
        print("회원님 좌로가세요!")
        print("회원님 우로가세요!")
    print("한세트 끝났어요!")  
print('수고하셨어요!')

end =""

  • 파이썬의 print()는 기본적으로 실행되면 자동으로 줄바꿈이 일어납니다.
    줄바꿈 하지 않게 하기 위해서 print() 뒤에 end=""를 추가합니다.
print(1)
print(2)
print('a', end="")
print('b', end="")

  • print('가나') 의 역할은 '가나'를 출력하고 커서를 다음줄로 내리는 것까지이다
    따라서 다음 출력문은 사실 3줄이다.
print('가나')
print('다라')

  • end="" 옵션으로 다음줄로 안 내려간 상태에서 다시 내리고 싶다면 print()한번더 써줍니다
print('가나')
print()
print('다라')

profile
파이썬초짜의 기록

0개의 댓글