Python

[Python] HANGMAN GAME

ITs Min 2024. 5. 8.

๐Ÿ” ์„ค๊ณ„

# quiz.txt ํŒŒ์ผ์— ์˜๋‹จ์–ด 1๊ฐœ๋ฅผ ์ €์žฅ
# banana
# ______ ์ž…๋ ฅ >> a
# _a_a_a ์ž…๋ ฅ >> c
# c๋Š” ์—†์Šต๋‹ˆ๋‹ค!
# _a_a_a ์ž…๋ ฅ >> b
# ba_a_a ์ž…๋ ฅ >> n
# banana ์ •๋‹ต์ž…๋‹ˆ๋‹ค! :D
# quiz.txt ํŒŒ์ผ์—
# ์ด 4๋ฒˆ๋งŒ์— ์ •๋‹ต์„ ๋งž์ถ”์…จ์Šต๋‹ˆ๋‹ค. ๋ผ๊ณ  ์ž‘์„ฑํ•ด์„œ ์ €์žฅ


๐Ÿ” ์ฝ”๋“œ

with open('quiz.txt', 'rt') as file:
    answer = file.readline()
    print(answer)
    length = len(answer)
    keyword =[]
    count = 0

for _ in range(length):
    keyword += "_"
        
while True:  
    count+=1
    msg = input('์ž…๋ ฅ >>').lower()
    if not msg:
        break
    elif msg in answer:    
        for idx, letter in enumerate(answer):
            if letter == msg:
                keyword[idx] = letter
        print(keyword)
        if '_' not in keyword:
            print(f"{answer} ์ •๋‹ต์ž…๋‹ˆ๋‹ค!")
            print(f"{count}๋ฒˆ๋งŒ์— ๋งžํžˆ์…จ์Šต๋‹ˆ๋‹ค!")
            break
    else:
        print(f"{msg}์€/๋Š” ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.")
        
with open('quiz.txt', 'at') as file:
    file.write(' ์ด '+str(count)+'๋ฒˆ๋งŒ์— ๋งžํžˆ์…จ์Šต๋‹ˆ๋‹ค.')

๐Ÿ›  ์ฃผ์š” ํ•จ์ˆ˜

enumerate() ํ•จ์ˆ˜:

answer ๋ฌธ์ž์—ด์„ ์ˆœํšŒํ•˜๋ฉด์„œ ๊ฐ ๋ฌธ์ž๊ฐ€ msg์™€ ๊ฐ™์€์ง€ ํ™•์ธํ•˜๊ณ , ๊ฐ™์œผ๋ฉด keyword ๋ฆฌ์ŠคํŠธ์˜ ๋™์ผํ•œ ์œ„์น˜์— ๊ทธ ๋ฌธ์ž๋ฅผ ํ• ๋‹น

1. ๋ฌธ์ž์—ด answer์˜ ๊ฐ ๋ฌธ์ž์™€ ํ•ด๋‹น ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ๊ฐ€์ ธ์˜ด

2. enumerate() ํ•จ์ˆ˜๋Š” ์ˆœํšŒ ๊ฐ€๋Šฅํ•œ(iterable) ๊ฐ์ฒด(์—ฌ๊ธฐ์„œ๋Š” ๋ฌธ์ž์—ด)๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์Œ

3. ํ•ด๋‹น ๊ฐ์ฒด์˜ ์›์†Œ์™€ ์ธ๋ฑ์Šค๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑ

4. for idx, letter in enumerate(answer): ๋ผ์ธ์—์„œ idx๋Š” ์ธ๋ฑ์Šค๋ฅผ, letter๋Š” answer์˜ ๊ฐ ๋ฌธ์ž๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ๋ฐ›์Œ

5. ๊ฐ ๋ฌธ์ž๊ฐ€ msg์™€ ๊ฐ™์€์ง€๋ฅผ ํ™•์ธํ•˜์—ฌ ์กฐ๊ฑด์„ ๊ฒ€์‚ฌ

6. ๋งŒ์•ฝ ํ•ด๋‹น ์กฐ๊ฑด์ด ์ฐธ์ด๋ผ๋ฉด, keyword ๋ฆฌ์ŠคํŠธ์˜ ๋™์ผํ•œ ์ธ๋ฑ์Šค์— ์žˆ๋Š” ๊ฐ’์„ ํ•ด๋‹น ๋ฌธ์ž๋กœ ์—…๋ฐ์ดํŠธ

(์—ฌ๊ธฐ์„œ idx๋Š” ๋ฌธ์ž์—ด์˜ ์ธ๋ฑ์Šค๋ฅผ, letter๋Š” ํ•ด๋‹น ์ธ๋ฑ์Šค์˜ ๋ฌธ์ž๋ฅผ ๋‚˜ํƒ€๋ƒ„)


 

'Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Python] ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”  (0) 2024.05.21
[Python] UP AND DOWN GAME  (0) 2024.05.06

๋Œ“๊ธ€

TOP

๋Šฆ์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•  ๋• ๋„ˆ๋ฌด ๋Šฆ์€ ๊ฑฐ๋‹ค.