티스토리 뷰
어제는 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문 #파이썬반복문 #파이썬데이터
'코딩공부' 카테고리의 다른 글
[코드잇] 파이썬 응용하기 : 숫자 맞히기, 고급 단어장 (1) | 2023.04.22 |
---|---|
[코드잇] 프로그래밍과 데이터 in Python : 주민등록번호 가리기 (0) | 2023.04.14 |
[코드잇] 프로그래밍과 데이터 in Python : 리스트, 사전 정리 (0) | 2023.04.10 |
[코드잇] Python 핵심 개념 복습 - 제어문 : while, if (0) | 2023.04.09 |
[코드잇] Python 핵심 개념 복습 - 자료형, 추상화 (0) | 2023.04.08 |
- Total
- Today
- Yesterday
- C# 패널
- #C# 기초
- 오늘도코드잇
- C# 공부
- C# 라디오버튼
- C# 이벤트
- C# 텍스트파일 읽기
- #C# 공부
- 파이썬응용
- c# 컨트롤
- c#
- C# 체크박스
- #C#
- #코딩 공부
- C# 독학
- 코딩공부
- 코딩 공부
- C# 버튼
- #C# 기본
- C# 리스트박스
- C# 기본
- C# 텍스트박스
- C# 기초
- 파이썬데이터
- C# 캐스트
- C# 클래스
- 코드잇
- 파이썬
- #C# 독학
- 코드잇TIL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |