Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Python Console Quiz Game

Python์œผ๋กœ ๋งŒ๋“  ์ฝ˜์†” ๊ธฐ๋ฐ˜ ํ€ด์ฆˆ ๊ฒŒ์ž„์ž…๋‹ˆ๋‹ค. ํ„ฐ๋ฏธ๋„์—์„œ ๋ฌธ์ œ๋ฅผ ํ’€๊ณ , ์ƒˆ ๋ฌธ์ œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , ์ตœ๊ณ  ์ ์ˆ˜๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ„๋‹จํ•œ ํ•™์Šต์šฉ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.

1. ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

๊ฐœ๋ฐœ ์–ธ์–ด: Python 3

์ฃผ์š” ๊ธฐ๋Šฅ: ํ€ด์ฆˆ ํ’€๊ธฐ, ํ€ด์ฆˆ ๋“ฑ๋ก, ๋ชฉ๋ก ์กฐํšŒ, ์ตœ๊ณ  ์ ์ˆ˜ ๊ธฐ๋ก, JSON ํŒŒ์ผ ์ €์žฅ

ํŠน์ง•: ํด๋ž˜์Šค ๋ถ„๋ฆฌ, ์ˆซ์ž ์ž…๋ ฅ ๊ฒ€์ฆ, ํŒŒ์ผ ์ €์žฅ ์ค‘ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

2. ํ€ด์ฆˆ ์ฃผ์ œ ์„ ์ • ์ด์œ 

์ฃผ์ œ: ๋ฆฌ๋ˆ…์Šค ๊ธฐ๋ณธ ๋ช…๋ น์–ด, Docker, Git

๊ธฐ๋ณธ ๋ฌธ์ œ๋Š” ํ•™์Šต ์ดˆ๋ฐ˜์— ์ž์ฃผ ์ ‘ํ•˜๋Š” ๋ช…๋ น์–ด ์œ„์ฃผ๋กœ ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ํ„ฐ๋ฏธ๋„ ์‚ฌ์šฉ, ๋ฒ„์ „ ๊ด€๋ฆฌ, ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ดˆ ๋‚ด์šฉ์„ ๊ฐ€๋ณ๊ฒŒ ๋ณต์Šตํ•˜๋Š” ๋ชฉ์ ์— ๋งž์ท„์Šต๋‹ˆ๋‹ค.

3. ์‹คํ–‰ ๋ฐฉ๋ฒ•

ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋ณ„๋„์˜ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

python main.py

4. ๊ธฐ๋Šฅ ์ƒ์„ธ ๋ชฉ๋ก

ํ€ด์ฆˆ ํ’€๊ธฐ: ์ €์žฅ๋œ ๋ฌธ์ œ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์ถœ์ œํ•˜๊ณ , ์ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

ํ€ด์ฆˆ ๋“ฑ๋ก: ๋ฌธ์ œ, ์„ ํƒ์ง€ 4๊ฐœ, ์ •๋‹ต ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด ์ƒˆ ๋ฌธ์ œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

๋ชฉ๋ก ์กฐํšŒ: ํ˜„์žฌ ๋“ฑ๋ก๋œ ๋ชจ๋“  ํ€ด์ฆˆ์˜ ์ œ๋ชฉ์„ ๋ฒˆํ˜ธ์™€ ํ•จ๊ป˜ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์ตœ๊ณ  ์ ์ˆ˜ ํ™•์ธ: ์—ญ๋Œ€ ๊ฐ€์žฅ ๋งŽ์ด ๋งžํžŒ ์ •๋‹ต ๊ฐœ์ˆ˜๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์œ ์ง€: state.json ํŒŒ์ผ์„ ํ†ตํ•ด ๋ฌธ์ œ ๋ชฉ๋ก๊ณผ ์ตœ๊ณ  ์ ์ˆ˜๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

5. ํŒŒ์ผ ๊ตฌ์กฐ ๋ฐ ๋ฐ์ดํ„ฐ ์„ค๋ช…

1. ํŒŒ์ผ ๊ตฌ์„ฑ

main.py: ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ๋ฉ”๋‰ด ์ถœ๋ ฅ, ํ€ด์ฆˆ ์ง„ํ–‰, ์ €์žฅ/๋ถˆ๋Ÿฌ์˜ค๊ธฐ๋ฅผ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

Quiz ํด๋ž˜์Šค: ๋ฌธ์ œ, ๋ณด๊ธฐ, ์ •๋‹ต ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€ํ•˜๊ณ  ์ •๋‹ต ์—ฌ๋ถ€๋ฅผ ํŒ๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

QuizGame ํด๋ž˜์Šค: ํŒŒ์ผ ์ž…์ถœ๋ ฅ, ๋ฉ”๋‰ด ๋ฃจํ”„, ์ ์ˆ˜ ๊ณ„์‚ฐ ๋“ฑ ์ „์ฒด ํ๋ฆ„์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

state.json: ํ€ด์ฆˆ ๋ฐ์ดํ„ฐ์™€ ์ตœ๊ณ  ์ ์ˆ˜๊ฐ€ ์ €์žฅ๋˜๋Š” ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.

.gitignore: state.json, ์บ์‹œ ํŒŒ์ผ ๋“ฑ์„ Git ์ถ”์ ์—์„œ ์ œ์™ธํ•ฉ๋‹ˆ๋‹ค.

README.md: ํ”„๋กœ์ ํŠธ ์ƒ์„ธ ์„ค๋ช… ๋ฌธ์„œ.

2.๋ฐ์ดํ„ฐ ์Šคํ‚ค๋งˆ (state.json)

๋ฐ์ดํ„ฐ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ JSON ๊ตฌ์กฐ๋กœ ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

{ "quizzes": [ { "question": "๋ฌธ์ œ ๋‚ด์šฉ์ด ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.", "choices": ["๋ณด๊ธฐ1", "๋ณด๊ธฐ2", "๋ณด๊ธฐ3", "๋ณด๊ธฐ4"], "answer": 1 } ], "best_score": 5 } state.json ์ฝ๊ธฐ/์“ฐ๊ธฐ ํ๋ฆ„

  1. Load: ํ”„๋กœ๊ทธ๋žจ ์‹œ์ž‘ ์‹œ ํŒŒ์ผ์ด ์žˆ์œผ๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ , ์—†์œผ๋ฉด ๊ธฐ๋ณธ ๋ฌธ์ œ ๋ชฉ๋ก์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  2. Save: ๋ฌธ์ œ ์ถ”๊ฐ€ ๋˜๋Š” ์ตœ๊ณ  ์ ์ˆ˜ ๊ฐฑ์‹  ์‹œ ํ˜„์žฌ ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์ผ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

6. ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๊ธฐ์ค€

์ˆซ์ž ์ž…๋ ฅ: ๊ณต๋ฐฑ ์ž…๋ ฅ, ๋ฌธ์ž ์ž…๋ ฅ, ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ ์ˆซ์ž๋ฅผ ๋‹ค์‹œ ์ž…๋ ฅํ•˜๋„๋ก ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋น„์ •์ƒ ์ข…๋ฃŒ: Ctrl+C ๋˜๋Š” EOFError ๋ฐœ์ƒ ์‹œ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ ๋’ค ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ์ผ ๋ฌด๊ฒฐ์„ฑ: state.json ํŒŒ์ผ์ด ์—†์œผ๋ฉด ๊ธฐ๋ณธ ํ€ด์ฆˆ๋กœ ์‹œ์ž‘ํ•˜๊ณ , ํŒŒ์ผ์ด ์†์ƒ๋œ ๊ฒฝ์šฐ ์ดˆ๊ธฐํ™” ์—ฌ๋ถ€๋ฅผ ๋‹ค์‹œ ๋ฌป์Šต๋‹ˆ๋‹ค.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages