Note
์ด ์ฝ๋๋ ์๋ java-baseball-6์์ ์ ๊ณต๋ Java ๊ธฐ๋ฐ์ ์ซ์์ผ๊ตฌ ๊ฒ์์ Python์ ๋ง๊ฒ ๋ณํํ ๊ณผ์ ์ ๋๋ค. ํ๋ก์ ํธ ๊ตฌ์กฐ, ์๊ตฌ ์ฌํญ, ๊ธฐ๋ฅ ๊ตฌํ ๋ฐฉ์์ ์๋ณธ ์ ์ฅ์๋ฅผ ๋ฐํ์ผ๋ก Python ํ๊ฒฝ์ ๋ง์ถ์ด ์์ ํ์์ต๋๋ค.
- ๋ฏธ์ ์ ๊ธฐ๋ฅ ์๊ตฌ ์ฌํญ, ํ๋ก๊ทธ๋๋ฐ ์๊ตฌ ์ฌํญ, ๊ณผ์ ์งํ ์๊ตฌ ์ฌํญ ์ธ ๊ฐ์ง๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
- ์ธ ๊ฐ์ ์๊ตฌ ์ฌํญ์ ๋ง์กฑํ๊ธฐ ์ํด ๋ ธ๋ ฅํ๋ค. ํนํ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ ์ ๊ธฐ๋ฅ ๋ชฉ๋ก์ ๋ง๋ ๋ค.
- ๊ธฐ๋ฅ ์๊ตฌ ์ฌํญ์ ๊ธฐ์ฌ๋์ง ์์ ๋ด์ฉ์ ์ค์ค๋ก ํ๋จํ์ฌ ๊ตฌํํ๋ค.
- ๋ฏธ์
๊ตฌํ์ ์๋ฃํ ํ GitHub์ ํตํด ์ ์ถํด์ผ ํฉ๋๋ค.
- Pull Request๋ก ์ต์ข ์ ์ถ
- ๊ธฐ๋ฅ ๊ตฌํ์ ๋ชจ๋ ์ ์์ ์ผ๋ก ํ๋๋ผ๋ ์๊ตฌ ์ฌํญ์ ๋ช ์๋ ์ถ๋ ฅ๊ฐ ํ์์ ์งํค์ง ์์ ๊ฒฝ์ฐ 0์ ์ฒ๋ฆฌ๋ฉ๋๋ค.
- ๊ธฐ๋ฅ ๊ตฌํ์ ์๋ฃํ ๋ค ์๋ ๊ฐ์ด๋์ ๋ฐ๋ผ ํ ์คํธ๋ฅผ ์คํํ๊ณ ๋ชจ๋ ํ ์คํธ๊ฐ ์ฑ๊ณตํ๋์ง ํ์ธํฉ๋๋ค.
- ํ ์คํธ๊ฐ ์คํจํ ๊ฒฝ์ฐ 0์ ์ฒ๋ฆฌ๋๋ฏ๋ก, ๋ฐ๋์ ํ์ธ ํ ์ ์ถํด์ผ ํฉ๋๋ค.
- ํฐ๋ฏธ๋์์
python --version์ ์คํํ์ฌ Python ๋ฒ์ ์ด 3.9 ์ด์์ธ์ง ํ์ธํฉ๋๋ค. pytest๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ ํ ์คํธ๊ฐ ์๋์ ๊ฐ์ด ํต๊ณผํ๋์ง ํ์ธํฉ๋๋ค.
=========================== test session starts ============================
...
========================= 100% passing in Xs =============================
๊ธฐ๋ณธ์ ์ผ๋ก 1๋ถํฐ 9๊น์ง ์๋ก ๋ค๋ฅธ ์๋ก ์ด๋ฃจ์ด์ง 3์๋ฆฌ์ ์๋ฅผ ๋ง์ถ๋ ๊ฒ์์ ๋๋ค.
- ๊ฐ์ ์๊ฐ ๊ฐ์ ์๋ฆฌ์ ์์ผ๋ฉด ์คํธ๋ผ์ดํฌ, ๋ค๋ฅธ ์๋ฆฌ์ ์์ผ๋ฉด ๋ณผ, ๊ฐ์ ์๊ฐ ์ ํ ์์ผ๋ฉด ๋ซ์ฑ์ด๋ผ๋ ํํธ๋ฅผ ์ป๊ณ , ๊ทธ ํํธ๋ฅผ ์ด์ฉํด ์ปดํจํฐ์ ์๋ฅผ ๋ง์ถ๋ฉด ์น๋ฆฌํฉ๋๋ค.
- ์) ์๋๋ฐฉ(์ปดํจํฐ)์ ์๊ฐ 425์ผ ๋
- 123์ ์ ์ํ ๊ฒฝ์ฐ: 1์คํธ๋ผ์ดํฌ
- 456์ ์ ์ํ ๊ฒฝ์ฐ: 1๋ณผ 1์คํธ๋ผ์ดํฌ
- 789๋ฅผ ์ ์ํ ๊ฒฝ์ฐ: ๋ซ์ฑ
- ์) ์๋๋ฐฉ(์ปดํจํฐ)์ ์๊ฐ 425์ผ ๋
- ์ปดํจํฐ๋ 1์์ 9๊น์ง ์๋ก ๋ค๋ฅธ ์์์ ์ 3๊ฐ๋ฅผ ์ ํํฉ๋๋ค. ํ๋ ์ด์ด๋ ์ปดํจํฐ๊ฐ ์๊ฐํ๊ณ ์๋ 3๊ฐ์ ์ซ์๋ฅผ ์ ๋ ฅํ๋ฉฐ, ์ปดํจํฐ๋ ์ ๋ ฅํ ์ซ์์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
- ์ ๊ณผ์ ์ ๋ฐ๋ณตํด 3๊ฐ์ ์ซ์๋ฅผ ๋ชจ๋ ๋งํ๋ฉด ๊ฒ์์ด ์ข ๋ฃ๋ฉ๋๋ค.
- ๊ฒ์ ์ข ๋ฃ ํ ๊ฒ์์ ๋ค์ ์์ํ๊ฑฐ๋ ์์ ํ ์ข ๋ฃํ ์ ์์ต๋๋ค.
- ์๋ชป๋ ๊ฐ์ ์
๋ ฅํ ๊ฒฝ์ฐ
ValueError๋ฅผ ๋ฐ์์ํจ ํ ํ๋ก๊ทธ๋จ์ ์ข ๋ฃํด์ผ ํฉ๋๋ค.
- ์๋ก ๋ค๋ฅธ 3์๋ฆฌ์ ์
- ๊ฒ์์ด ๋๋ ํ ์ฌ์์/์ข ๋ฃ๋ฅผ ๊ตฌ๋ถํ๋ 1๊ณผ 2 ์ค ํ๋์ ์
- ์ ๋ ฅํ ์์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ, ์คํธ๋ผ์ดํฌ ๊ฐ์๋ก ํ์
1๋ณผ 1์คํธ๋ผ์ดํฌ
- ํ๋๋ ์๋ ๊ฒฝ์ฐ
๋ซ์ฑ
- 3๊ฐ์ ์ซ์๋ฅผ ๋ชจ๋ ๋งํ ๊ฒฝ์ฐ
3์คํธ๋ผ์ดํฌ
3๊ฐ์ ์ซ์๋ฅผ ๋ชจ๋ ๋งํ์
จ์ต๋๋ค! ๊ฒ์ ์ข
๋ฃ
- ๊ฒ์ ์์ ๋ฌธ๊ตฌ ์ถ๋ ฅ
์ซ์ ์ผ๊ตฌ ๊ฒ์์ ์์ํฉ๋๋ค.
์ซ์ ์ผ๊ตฌ ๊ฒ์์ ์์ํฉ๋๋ค.
์ซ์๋ฅผ ์
๋ ฅํด์ฃผ์ธ์ : 123
1๋ณผ 1์คํธ๋ผ์ดํฌ
์ซ์๋ฅผ ์
๋ ฅํด์ฃผ์ธ์ : 145
1๋ณผ
์ซ์๋ฅผ ์
๋ ฅํด์ฃผ์ธ์ : 671
2๋ณผ
์ซ์๋ฅผ ์
๋ ฅํด์ฃผ์ธ์ : 216
1์คํธ๋ผ์ดํฌ
์ซ์๋ฅผ ์
๋ ฅํด์ฃผ์ธ์ : 713
3์คํธ๋ผ์ดํฌ
3๊ฐ์ ์ซ์๋ฅผ ๋ชจ๋ ๋งํ์
จ์ต๋๋ค! ๊ฒ์ ์ข
๋ฃ
๊ฒ์์ ์๋ก ์์ํ๋ ค๋ฉด 1, ์ข
๋ฃํ๋ ค๋ฉด 2๋ฅผ ์
๋ ฅํ์ธ์.
1
์ซ์๋ฅผ ์
๋ ฅํด์ฃผ์ธ์ : 123
1๋ณผ
...
- Python 3.9 ์ด์์์ ์คํ ๊ฐ๋ฅํด์ผ ํฉ๋๋ค. ์ ์์ ์ผ๋ก ๋์ํ์ง ์์ ๊ฒฝ์ฐ 0์ ์ฒ๋ฆฌ๋ฉ๋๋ค.
- ํ๋ก๊ทธ๋จ ์คํ์ ์์์ ์
main.py์main()ํจ์์ ๋๋ค. - ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ฌ์ฉํ์ง ์์ต๋๋ค.
- PEP8 Python ์ฝ๋ ์คํ์ผ์ ์ค์ํ๋ฉฐ ํ๋ก๊ทธ๋๋ฐํฉ๋๋ค.
- ํ๋ก๊ทธ๋จ ์ข
๋ฃ ์
sys.exit()๋ฅผ ํธ์ถํ์ง ์์ต๋๋ค. - ํ๋ก๊ทธ๋จ ๊ตฌํ์ด ์๋ฃ๋๋ฉด ํ ์คํธ ์ฝ๋๊ฐ ์ฑ๊ณตํด์ผ ํฉ๋๋ค. ํ ์คํธ๊ฐ ์คํจํ ๊ฒฝ์ฐ 0์ ์ฒ๋ฆฌ๋ฉ๋๋ค.
- Python์
random๋ชจ๋์ ์ฌ์ฉํ์ฌ ์์์ ์๋ฅผ ์์ฑํฉ๋๋ค.- Random ๊ฐ ์ถ์ถ์
random.sample()์ ํ์ฉํฉ๋๋ค. - ์ฌ์ฉ์๊ฐ ์
๋ ฅํ๋ ๊ฐ์
input()์ ํ์ฉํฉ๋๋ค.
- Random ๊ฐ ์ถ์ถ์
import random
computer = random.sample(range(1, 10), 3)- ๋ฏธ์ ์ python-baseball ์ ์ฅ์๋ฅผ Fork & Cloneํด ์์ํฉ๋๋ค.
- ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์
docs/README.md์ ๊ตฌํํ ๊ธฐ๋ฅ ๋ชฉ๋ก์ ์ ๋ฆฌํด ์ถ๊ฐํฉ๋๋ค. - Git์ ์ปค๋ฐ ๋จ์๋ ๊ธฐ๋ฅ ๋ชฉ๋ก ๋จ์๋ก ์ถ๊ฐํฉ๋๋ค.