티스토리 뷰

어제는 CSS 핵심 개념 토픽을 떼고 오늘 HTML 핵심 개념으로 들어왔다가

포스팅이 생각나서 왔다. (사실 포스팅 전에 오늘 레슨 수를 채워야 해서 적당히 7개 본 뒤에 포스팅 중)

이번에는 for 반복문에 대해서 간략하게 정리해보려고 한다.

 

for문 기본

for i in range(10):
  print(i)
  
#실행결과 :
#0
#1
#2
#3
#4
#5
#6
#7
#8
#9

for은 위와 같이 'for ... in ...' 이런 형식으로 쓴다.

range는 적은 숫자의 갯수만큼 리스트를 만들어주는 것과 같다.

range의 큰 장점은 만들어놓은 리스트를 한 번 쓰면 버린다는 점이다.

range는 위처럼 한개의 숫자를 쓸 수 있고, 두개, 세개까지도 쓸 수 있다.

 

두개 같은 경우 만일, (2, 10)을 쓰면 2부터 '10'이 아닌 '9'까지 뽑아낸다는 점을 주의해야한다.

세개 같은 경우 마지막 세번째 숫자가 숫자들간의 간격이 된다.

for i in range(2, 10, 2):
  print(i)
  
#실행결과 :
#2
#4
#6
#8

 

*for문과 while문의 차이?

for문과 while문의 차이는 조건이 있냐 없냐인 것 같다.

while문은 조건이 '맞으면' 실행을 하고 for문은 반복할 대상만 잘 주면 된다.

내가 봤을 때 데이터를 뽑아낼 땐 for문이 더 간편하고

그 외에는 while이 적절한 것 같다.

 

참고로 구구단 또한 for문으로 하면 더 간결해진다.

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

 

#고급 단어장으로 보는 for문과 while문의 쓰임새

import random

# 사전 만들기
vocab = {}
with open('vocabulary.txt', 'r') as f:
    for line in f:
        data = line.strip().split(": ")
        english_word, korean_word = data[0], data[1]
        vocab[english_word] = korean_word

# 목록 가져오기
keys = list(vocab.keys())

# 문제 내기
while True:
    # 랜덤한 문제 받아오기
    index = random.randint(0, len(keys) - 1)
    english_word = keys[index]
    korean_word = vocab[english_word]
    
    # 유저 입력값 받기
    guess = input("{}: ".format(korean_word))
    
    # 프로그램 끝내기
    if guess == 'q':
        break
    
    # 정답 확인하기
    if guess == english_word:
        print("정답입니다!\n")
    else:
        print("틀렸습니다. 정답은 {}입니다.\n".format(english_word))

위 코드는 파이썬 응용하기 토픽에 나오는 단어맞추기 게임의 코드이다.

실행을 하면 랜덤으로 한글 단어를 출력하고

한글 단어에 맞는 영어 단어를 입력하면 정답, 틀리면 틀렸다고 한 뒤 정답을 알려준다.

이 게임은 q를 입력해야 끝난다.

 

코드를 보면 사전 만들기에는 for문이 들어가고 문제 내기에서는 while이 들어간다.

여기서 for문 코드의 역할은 데이터를 뽑아내고 정리,

while문 코드의 역할은 q를 입력하기 전까지 무한반복이다.

 


#코드잇 #코딩공부 #오늘도코드잇 #코드잇TIL #파이썬 #파이썬for문 #파이썬반복문 #파이썬데이터

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함