1. 오늘의 학습 키워드
- python 응용하기 : Lv3. 단어 맞추기 게임
2. 오늘의 학습 내용 정리
단어 리스트 중 정답을 정하고, 이를 맞추는 코드를 작성한다. 그리고 정답을 맞출 기회를 정하고 맞췄을 시 정답, 틀렸을 시 오답, 기회가 끝났을 시 게임오버을 출력하도록 한다.
import string
# 단어 리스트
word_list = [
"airplane", "apple", "arm", "bakery", "banana", "bank", "bean", "belt", "bicycle", "biography",
"blackboard", "boat", "bowl", "broccoli", "bus", "car", "carrot", "chair", "cherry", "cinema",
"class", "classroom", "cloud", "coat", "cucumber", "desk", "dictionary", "dress", "ear", "eye",
"fog", "foot", "fork", "fruits", "hail", "hand", "head", "helicopter", "hospital", "ice",
"jacket", "kettle", "knife", "leg", "lettuce", "library", "magazine", "mango", "melon", "motorcycle",
"mouth", "newspaper", "nose", "notebook", "novel", "onion", "orange", "peach", "pharmacy", "pineapple",
"picture", "plate", "pot", "potato", "rain", "shirt", "shoe", "shop", "sink", "skateboard",
"ski", "skirt", "sky", "snow", "sock", "spinach", "spoon", "stationary", "stomach", "strawberry",
"student", "sun", "supermarket", "sweater", "teacher", "thunderstorm", "tomato", "trousers", "truck",
"vegetables", "vehicles", "watermelon", "wind"
]
- 코드는 아래와 같다. (더보기 클릭)
더보기
# 정답 단어 고정
answer = "POTATO" # 대문자로 고정
answer_letters = set(answer)
guessed_letters = set()
lives = 9
# 게임 시작
print("🎮 영어 단어 맞추기 게임을 시작합니다!")
print(f"힌트: 단어는 {len(answer)}자리입니다.")
# 게임 루프
while lives > 0:
# 현재 상태 표시
display_word = [letter if letter in guessed_letters else "_" for letter in answer]
print("\n현재 단어:", " ".join(display_word))
# 승리 조건
if set(display_word) == answer_letters:
print("🎉 축하합니다! 단어를 모두 맞췄습니다!")
print(f"정답: {answer}")
break
# 사용자 입력
guess = input("알파벳을 입력하세요 (A-Z): ").upper()
# 입력 검증
if len(guess) != 1 or guess not in string.ascii_uppercase:
print("⚠️ 올바른 알파벳 하나만 입력해주세요.")
continue
if guess in guessed_letters:
print("⚠️ 이미 입력한 알파벳입니다.")
continue
guessed_letters.add(guess)
if guess in answer_letters:
print(f"✅ 정답! '{guess}'는 단어에 포함되어 있습니다.")
else:
lives -= 1
print(f"❌ 오답! '{guess}'는 단어에 없습니다. 남은 기회: {lives}")
# 패배 조건
if lives == 0:
print("\n💀 기회를 모두 사용했습니다. 게임 오버!")
print(f"정답은 '{answer}'였습니다.")
- 출력값은 아래와 같다.
3. 학습하며 겪었던 문제점 & 에러
이번 과제를 통해 느낀 것은 시도를 해보다 모를 경우에는 구글링을 통해 바로 알 수 있지만, 그래도 개발자 또는 분석가적인 사고능력을 트레이닝하는 연습도 필요할 것 같다는 생각을 해본다.
4. 내일 학습 할 것은 무엇인지
- SQL 기초 강의
- 아티클 읽고 의견 나누기 : [SQL의 가독성을 높이는 다섯 가지 사소한 습관]
SQL 가독성을 높이는 다섯 가지 사소한 습관 | 요즘IT
지독하게 읽기 힘든 SQL 문을 해석해 본 적 있으신가요? 마치 암호를 읽는 것처럼 어렵습니다. 파이선처럼 들여쓰기와 띄어쓰기를 문법적으로 강제하는 언어를 사용해 봤다면 SQL의 자유로움에
yozm.wishket.com
끝.
'내일배움캠프' 카테고리의 다른 글
| [내일배움캠프 사전캠프] '25.07.23(수) / 사전캠프 2주차(3) (1) | 2025.07.23 |
|---|---|
| [내일배움캠프 사전캠프] '25.07.21 / 사전캠프 2주차(1) (0) | 2025.07.21 |
| [내일배움캠프 사전캠프] '25.07.18 / 사전캠프 1주차(5) (3) | 2025.07.18 |
