TIL_220427
- -
์์นจ ๊ธฐ์์ ์๋ฆฌ๋ ์ชฝ์ง์ํ..
๊ทธ๋ฆฌ๊ณ ๊ฐ์ธ ํ๋ก์ ํธ ๋ง์ง๋ง ๋
๋ฌด์์ ๋๊ผ๋๊ฐ.
1~2๊ฐ์ ํ๋ก์ ํธ๋ฅผ ๊ฒฝํํ๋ฉด์, ์ ์ ๋ง๊ฐ์ผ์ ๋ํ ๊ฐ๋ฐ์ ์ต์ํด์ง๋ ๊ฒ ๊ฐ๋ค.
์์ฑ๋์ผ ์ ๋ง ์ค์ํ์ง๋ง, ์์ฒญ ์ฌํญ์ ์ถฉ๋ถํ ๋ง์กฑํ์๋์ง, ๋ง์กฑํ ์กฐ๊ฑด์ ๋ง๊ฐ์ผ์ ์งํฌ ์ ์๋์ง.
์ต์ํ์ ์๊ฐ๊น์ง ํ์ฉํ๊ณ ์ต๋ํ์ ์ญ๋์ ๋ฐํํ๋ ์ธ์์ด ๋๊ฒ ๋ค.
์์นจ๋ถํฐ ํํฐ๋์ ํตํด ๋ง์์ผ๋ก ์ ํ๋ ๋ง์ ๋ฃ๊ฒ ๋ ๋ฏ ํ๋ค.
" ์ด๋ฆฐ ์์ด, ์ด๋ฅด์ , ์ฅ์ ์ฐ ๋ฑ
๋ชจ๋ ์ฌ๋์ด ์ฝ๊ณ ํธํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก
ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๋ ์ฌ๋.
๊ทธ๊ฒ ๊ฐ๋ฐ์ ์๋๊น์? "
- ์ด ํํฐ -
'๋๊ตฐ๊ฐ์๊ฒ ๋์์ด ๋๊ณ ์ถ๋ค' ํด์ ๋ชจ๋ ์ด์ฌํ ํ์ธ์ ์ํด ๋ฌ๋ ค์จ ๋ด ๊ณผ๊ฑฐ๋ค์ด ๋ฌธ๋ฉ ๋ ์ค๋ฅด๊ณ ,
'์ด์ ๋ ๋ด๊ฐ ๋ ๋ถ๋ช ํ ๋ฌ๋ฆด ์ ์๊ฒ ๋ค' ๋ผ๊ณ ์๊ฐํ๋ค.
๋๋ ์ฌ๋์ ๋๋ ๊ฐ๋ฐ์๊ฐ ๋ ๊ฒ์ด๋ค.
python ๊ธฐ์ด ๋ค์ง๊ธฐ ์กฐ๊ฑด๋ฌธ
1) ์กฐ๊ฑด๋ฌธ์ ํ์ฉํ ๊ฒฝ์ฐ
# ์ฒซ ๋ฒ์งธ ์ฌ์ฉํ ์ ๊ธฐ๋
# value = 99;
# ๋ ๋ฒ์งธ ์ฌ์ฉํ ์ ๊ธฐ๋
value = 150
# ํฌ๊ฒ ์ค์ํ์ง ์๋ค...
print("=" * 20);
print(" ์ฃผํ์ฉ ์ ๊ธฐ์๊ธ(์ ์) ๊ณ์ฐ๊ธฐ ");
print("=" * 20);
# ๋ง์ฝ ์ฌ์ฉ์ ๊ธฐ๋์ด 100์ดํ ๋ผ๋ฉด์...
if (value <= 100):
# ๋ด๊ฐ ์ฌ์ฉํ ์ ๊ธฐ๋(value)์ 60.7์ ๊ณฑํด์ค๋ค.
# ์ ๊ธฐ์ธ(price)
price = value * 60.7;
# ๋ง์ฝ ์ฌ์ฉ์ ๊ธฐ๋์ด 100์ ๋์ด๊ฐ๋ ๊ฒฝ์ฐ
elif (100 < value):
# ๊ธฐ์กด 100 ์ดํ์ ๋ํ ์ฐ์ฐ + 100 ์ด๊ณผ์ ๋ํ ์ฐ์ฐ
# ์ ๊ธฐ์ธ(price)
price = (100 * 60.7) + (value - 100) * 125.9;
print(value, "kWh์ ์ ๊ธฐ ์๊ธ์ ", price, "์ ์
๋๋ค.")
2) ํ๋์ ํจ์๋ก ๋ฌถ์ด์ค ๊ฒฝ์ฐ
- ์ฐ์ฐ
def ์ฐ์ฐ(value):
# ํฌ๊ฒ ์ค์ํ์ง ์๋ค...
print("=" * 20);
print(" ์ฃผํ์ฉ ์ ๊ธฐ์๊ธ(์ ์) ๊ณ์ฐ๊ธฐ ");
print("=" * 20);
# ๋ง์ฝ ์ฌ์ฉ์ ๊ธฐ๋์ด 100์ดํ ๋ผ๋ฉด์...
if (value <= 100):
# ๋ด๊ฐ ์ฌ์ฉํ ์ ๊ธฐ๋(value)์ 60.7์ ๊ณฑํด์ค๋ค.
# ์ ๊ธฐ์ธ(price)
price = value * 60.7;
# ๋ง์ฝ ์ฌ์ฉ์ ๊ธฐ๋์ด 100์ ๋์ด๊ฐ๋ ๊ฒฝ์ฐ
elif (100 < value):
# ๊ธฐ์กด 100 ์ดํ์ ๋ํ ์ฐ์ฐ + 100 ์ด๊ณผ์ ๋ํ ์ฐ์ฐ
# ์ ๊ธฐ์ธ(price)
price = (100 * 60.7) + (value - 100) * 125.9;
return price
- ์ถ๋ ฅ
def ์๊ธ์๋ด(value, price_input):
print(value, "kWh์ ์ ๊ธฐ ์๊ธ์ ", price_input, "์ ์
๋๋ค.")
- ํ๋์ ํจ์
def ํ์ (value):
price = ์ฐ์ฐ(value)
์๊ธ์๋ด(value, price_input=price)
๊ฐ์ธ ํ๋ก์ ํธ ๊ธฐํ [22. 04. 27. ์์ ]
1. ์ฐฝ ํ๋ฉด
- 640 * 640 ํฌ๊ธฐ
2. ๊ฒ์ ์ด๋ฏธ์ง
- ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง, ์ ์ ํ๋ฉด ์ด๋ฏธ์ง 640 * 640
- ๊ฒ์ ๋ฉ๋ด ํ๋ฉด ์ด๋ฏธ์ง 640 * 640
- ์ฐ์ฃผ์ ์ด๋ฏธ์ง 42 * 40
- ํญ๋ฐ ์ด๋ฏธ์ง 70 * 55
- ๋ฏธ์ฌ์ผ ์ด๋ฏธ์ง 20 * 20
- ์ด์ ์ด๋ฏธ์ง (75 * 37, 75 * 55, , 75 * 25, 75 * 52, , 75 * 61)
3. ์ขํ
- ์ฐ์ฃผ์ ๊ณ ์ ์์น : ์ฐฝ ํ๋ฉด์ ์ค์
- ๋ฏธ์ฌ์ผ ์ด๋ ์์น(์ฐ์ฃผ์ ์ค์ฌ์ผ๋ก) : ๋ค ๋ฐฉํฅ ์ง์ง
- ์ด์ ์ด๋ ์์น(๋ค ๋ฐฉํฅ ์ฐฝ ์ค์ฌ์ผ๋ก ์ฐ์ฃผ์ ์ ํฅํด) : ๋ค ๋ฐฉํฅ ์์ชฝ ์ด๋
- ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง ์์น : (0, 0)
- ๊ฒ์ ๋ฉ๋ด ํ๋ฉด ์ด๋ฏธ์ง ์์น : (0, 0)
- ํญ๋ฐ ์ด๋ฏธ์ง ์์น
- ์ต๊ณ ์ ์ ๊ธฐ๋ก ์์น : (150, 20)
- ๊ฒ์ ์ ๋ชฉ ํ ์คํธ ์์น : (์ฐฝ ๋๋น ์ค์ฌ, ์ฐฝ ๋์ด ์ค์ฌ)
- ์ํฐ ํค ์๋ด ํ ์คํธ ์์น : (์ฐฝ ๋๋น ์ค์ฌ, ์ฐฝ ๋์ด ์ค์ฌ + 200)
- ๊ฒ์ ์์ ํ ์คํธ ์์น : (์ฐฝ ๋๋น ์ค์ฌ, ์ฐฝ ๋์ด ์ค์ฌ + 250)
- ์ ์ ํ์ธ ์๋ด ํ ์คํธ ์์น : (์ฐฝ ๋๋น ์ค์ฌ, ์ฐฝ ๋์ด ์ค์ฌ + 350)
- ์ ์ ํ ์คํธ ์์น 1 : (์ฐฝ ๋๋น ์ค์ฌ, ์ฐฝ ๋์ด / 4 + 100)
- ์ ์ ํ ์คํธ ์์น 2 : (์ฐฝ ๋๋น ์ค์ฌ, ์ฐฝ ๋์ด / 4 + 200)
4. FPS
- ์ด๋น 60
5. ์์
- BLACK = (0, 0, 0)
- WHITE = (255, 255, 255)
- YELLOW = (250, 250, 50)
- RED = (250, 50, 50)
6. ์์น ์ ์
- ์ฐ์ฃผ์ ์ ํ๋ฉด ์์น ๊ณ ์
- ์ด๋ฒคํธ ํค ์ ๋ ฅ์ ๋ฐ๋ฅธ ๋ค ๋ฐฉํฅ ๋ฏธ์ฌ์ผ ์ฌ์ถ ์์น ์ ์
-- ๋ฏธ์ฌ์ผ์ด ํ๋ฉด ๋ฐ์ผ๋ก ๋๊ฐ ๊ฒฝ์ฐ ๋ฏธ์ฌ์ผ ์ ๊ฑฐ
- ์ฐฝ์ ์ค์ฌ ๋ค ๋ฐฉํฅ์ผ๋ก ์ฐ์ฃผ์ ์ ํฅํ๊ฒ ์ด์์ ์ด๋ ์์น ์ ์
7. ์ถฉ๋ ์ฒ๋ฆฌ
- ์ฐ์ฃผ์ ๊ณผ ์ด์์ ์ถฉ๋ ์ฒ๋ฆฌ
- ๋ฏธ์ฌ์ผ๊ณผ ์ด์์ ์ถฉ๋ ์ฒ๋ฆฌ
8. ๊ท์น ์ ์ [22. 04. 27. ์์ ]
- ์ฐ์ฃผ์ ์ผ๋ก ํฅํ๋ ์ด์์ ์ถฉ๋์ ๋ง์์ผ ํจ.
- ์ฐ์ฃผ์ ์ ๋ค ๋ฐฉํฅ์ผ๋ก ๋ฏธ์ฌ์ผ์ ๋ฐ์ฌ
- ์ด์์ ๋ค ๋ฐฉํฅ์์ ๋๋ค์ ํ๋ฅ ๋ก 5๊ฐ์ง์ ์ด์ ์ข ๋ฅ ์ถํ
- 100/ 200/ 300 ์ ์ด์ ๊ฒฉ์ถ์ ๋ฐ๋ฅธ ๋์ด๋ ์ฆ๊ฐ
- ๋๋ค์๊ณผ ์ต๊ณ ์ ์ ์ ๊ธฐ๋ก
๊ธฐ๋ฅ ์ถ๊ฐ
1) ์ ์ ๊ธฐ๋ก
- f = open('ํ์ผ ์ด๋ฆ.txt', 'a = ๊ธฐ๋ก / r = ์ฝ๊ธฐ') ์ ํตํด ํ ์คํธ ๋ด์ฉ ์ ์ฅ๊ณผ ๋ถ๋ฌ์ค๊ธฐ๋ฅผ ์ฌ์ฉ
- ๊ธฐ๋ก
# ๊ฒ์ ์ข
๋ฃ ํ ํ๋ ์ด์ด์ ์ด๋ฆ๊ณผ ์ ์ ํ์ผ์ ๊ธฐ๋ก
# ์ถ๊ฐ ๋ชจ๋๋ก ํ์ผ ์ด๊ธฐ
f = open('gamelog.txt', 'a')
# :๋ก ๋๋์ด ํ๋ ์ด์ด์ ์ด๋ฆ๊ณผ ์ ์ ์ ์ฅ
f.write(str(playerName) + ":" + str(shot_count))
f.write("\n") # ์ค ๋ฐ๊ฟ
# ํ์ผ ๋ซ๊ธฐ
f.close()
- ์ฝ๊ธฐ
# ํ์ฌ ํ๋ ์ด์ด์ ์ค์ฝ์ด ๊ธฐ๋ก ํ ์ต๊ณ ์ ์ถ๋ ฅ
# ํ์ผ ์ฝ๊ธฐ ๋ชจ๋๋ก ์ด๊ธฐ
f = open('gamelog.txt', 'r', encoding='utf-8')
# ์ฒซ๋ฒ์งธ ์ค ์ฝ์ด์ค๊ธฐ
fristline = f.readline()
a = fristline.split(":") # ์ฝ์ด์จ ์ ๋ณด๋ฅผ ๋ฆฌ์คํธ ํํ๋ก ์ ์ฅ
# ์ฒ์ ์ฝ์ด์จ ์ ๋ณด๋ฅผ bestPlayer์ bestScore์ ์ ์ฅ
bestPlayer = a[0]
bestScore = a[1]
bestScore.rstrip() # \n ์์ ๊ธฐ(intํ์ผ๋ก ํ ๋ณํํ๊ธฐ ์ํด)
bestScore = int(bestScore) # ๊ฐ ๋น๊ต๋ฅผ ์ํด intํ์ผ๋ก ํ ๋ณํ
- ๋ถ๋ฌ์จ ๊ฐ ํ์
# ๋๋จธ์ง ์ ๋ณด ์ฝ์ด ์ด
while True:
line = f.readline()
# ์ฝ์ด ์ฌ ๋ด์ฉ์ด ์์ผ๋ฉด ๋ฌดํ ๋ฃจํ ํ์ถ
if not line: break
b = line.split(":") # : ๋ก ๋๋์ด ๋ฆฌ์คํธ์ ํํ๋ก ์ ์ฅ
# ์ฝ์ด ์จ ์ ๋ณด๋ฅผ Player์ Score๋ก ๋๋์ด ์ ์ฅ
Player = b[0]
Score = b[1]
Score.rstrip() # \n ์์ ๊ธฐ(intํ์ผ๋ก ํ ๋ณํํ๊ธฐ ์ํด)
Score = int(Score) # ๊ฐ ๋น๊ต๋ฅผ ์ํด intํ์ผ๋ก ํ ๋ณํ
# ์๋ ์ ์ฅ๋์ด ์๋ bestScore์ ๋น๊ตํ์ฌ Score๊ฐ ๋ ๋์ ๊ฒฝ์ฐ bestPlayer์ bestScore ๊ฐฑ์
if (bestScore < Score):
bestPlayer = Player
bestScore = Score
draw_text('bestPlayer is {}'.format(bestPlayer), font_40, screen, int(WINDOW_WIDTH / 2),
int(WINDOW_HEIGHT / 4) + 100, WHITE)
draw_text('bestScore is {}'.format(str(bestScore)), font_40, screen, int(WINDOW_WIDTH / 2),
int(WINDOW_HEIGHT / 4) + 200, WHITE)
์ค๋ฅ ๋ ธํธ
1) TypeError: an integer is required (got type str)
- ์ธ์ฝ๋ฉ error : utf-8, cp949
-
์์์ ์ผ๋ก 3๋ฒ์งธ ํ๋ผ๋ฏธํฐ์ integer ๋ฅผ ๋ฐ๊ธฐ ๋๋ฌธ์ ๋ช ์์ ์ผ๋ก encoding์ ์จ์ค๋ค.
f = open('gamelog.txt', 'r', encoding='utf-8')
์ต์ข ์์ฑ
'๐ฆ ๋ด์ผ๋ฐฐ์์บ ํ > TIL(Today I Learned)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
TIL_220501_์ธ์คํ ๋ฐ์คํฌํ UI ํด๋ก (0) | 2023.01.01 |
---|---|
TIL_220428_์ธ์คํ ๋ฐ์คํฌํ UI ํด๋ก (0) | 2023.01.01 |
TIL_220426 (0) | 2023.01.01 |
TIL_220425 (0) | 2023.01.01 |
TIL_220422_๋ฏธ๋ ํ ํ๋ก์ ํธ (0) | 2023.01.01 |
๋น์ ์ด ์ข์ํ ๋งํ ์ฝํ ์ธ
์์คํ ๊ณต๊ฐ ๊ฐ์ฌํฉ๋๋ค