์ ๊ฐ ์์ํ ํ์ ์ ๋ถ ๋จ์๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ์ฌ์ง์ด ๋๋ฆฌ ๊ธ์ด ์ ๋ฅผ ํฌํจํด์ ๋ค ๋ช ์ด๋ผ ๋ด๊ธฐ๋ฅผ ์์ฃผ ํ๊ณค ํฉ๋๋ค.
์ปคํผ ๋ด๊ธฐ, ์ ์ฌ ๋น์ง ๋ชฐ๋นต, ํ์๋ก ์์ฑ ๋ด๊ธฐ ๋ฑ ํ๋ฃจ๋ฅผ ๋ด๊ธฐ๋ก ์์ํด์ ๋ด๊ธฐ๋ก ๋์ ๋ ๋๋ค. ๋ด๊ธฐ๋ฅผ ํ ๋๋ง๋ค ์นดํก์ผ๋ก ์ฌ๋ค๋ฆฌ๋ฅผ ํ๊ณค ํ๋๋ฐ, ์ฌ๋ฐ๊ฒ๋ ํ ์ฌ๋์ด ์ฐ์์ผ๋ก ๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์์ต๋๋ค. ์ฌ๋ค๋ฆฌ ๊ฒ์ ๊ฐ๋ฐ์๊ฐ ์๋ํ ๊ฒ์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง, ์์ค์ฝ๋๋ฅผ ๊น๋ณด์ง๋ ๋ชปํ๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ฐพ์๋ณด๊ธฐ๋ก ํ์ต๋๋ค.
๋ค๋ฅธ ํฌ์คํธ์์ ๋ณด์ จ์ ์๋ ์๊ฒ ์ง๋ง, ํผ์นด์ถ ๋ฐฐ๊ตฌ๋ฅผ ์ ๊ฐ ์ฒ์ ์ ์ํ์ผ๋ ์ฆ๊ถ ๋ฐ ๊ธ์ต์ฌ๋ ๋ง๋ถ๋ฆฌ๊ฐ ๋์ด์์ด์ ์ธ๋ถํ๋ก๊ทธ๋จ ๋ฐ์ ์ด ๋งค์ฐ ๊น๋ค๋กญ์ต๋๋ค. ๊ทธ๋์ ์ด์ฉ ์ ์์ด ๋งค์ผ๋งค์ผ ์ฌ์ฉํ๋ Python์ ํ์ฉํด์ ์ฃผ์ฌ์ ๊ตด๋ฆฌ๊ธฐ ๊ฒ์์ด๋ผ๋ ๋ง๋ค์ด๋ณด๋ ค๊ณ ํฉ๋๋ค.
TL;DR: ์ฃผ์ฌ์๋ฅผ ๊ตด๋ ค์ ๋ด๊ธฐ๋ฅผ ํ์
์์ค์ฝ๋
์๋ ์ฃผ์ฌ์ ๊ฒ์์ 1~2๊ฐ์ ์ฃผ์ฌ์๋ฅผ ๊ตด๋ ค์ ๊ฐ์ฅ ์ ์ ์๊ฐ ๋์จ ์ฌ๋์ด ๋น์ฒจ๋๋ ๊ฒ์์ ๋๋ค.
๋์ ์, ๋ ๋ช ์ด์์ ํ๋ ์ด์ด๊ฐ ๋น์ฒจ๋ฉ๋๋ค~
main.py
import random
import time
import os
def dice_num():
while True:
try:
dice_cnt = input('์ฃผ์ฌ์ ๊ฐฏ์: ')
options = ['1','2']
if dice_cnt not in options:
raise ValueError('1 , 2 ๋ง ๊ฐ๋ฅํฉ๋๋ค')
else:
return dice_cnt
except ValueError as err:
print(err)
def participants():
while True:
try:
players = input('์ฐธ๊ฐ์๋ฅผ ์
๋ ฅํด์ฃผ์ธ์. ex) ํ๊ธธ๋ ๊น์์\n ')
players = [name.strip() for name in players.split()]
return players
except:
raise ValueError('๋์ด์ฐ๊ธฐ ๊ตฌ๋ถ์๋ก ์ฌ๋ฐ๋ฅด๊ฒ ์
๋ ฅํด์ฃผ์ธ์')
def play_again():
while True:
try:
play = input('๋ค์ ๋๋ฆฌ๊ฒ ์ต๋๊น? ex) Yes, No ์ผ๋ก ๋๋ตํด์ฃผ์ธ์')
if (play.upper() == 'Y') or (play.upper() == 'YES'):
return True
else:
return False
except:
raise ValueError('Yes ํน์ No๋ก ์ฌ๋ฐ๋ฅด๊ฒ ์
๋ ฅํด์ฃผ์ธ์')
def roll_dice(min_n=1, max_n=6):
min_n = 1
max_n = 6
LET_ME_DO_IT_AGAIN = True
while LET_ME_DO_IT_AGAIN:
os.system('cls' if os.name == 'nt' else 'clear')
amount = dice_num() # ์ฃผ์ฌ์ ๊ฐ์ ์ค์
players = participants() # ์ฐธ๊ฐ์ ์ค์
result = {k:[] for k in players}
print(result)
print('\n'*2) #๊ตฌ๋ถ์
print('='*40) #๊ตฌ๋ถ์
print(f'์ฃผ์ฌ์๋ฅผ ๊ตด๋ฆฝ๋๋ค...')
print('='*40) #๊ตฌ๋ถ์
print('\n'*2) #๊ตฌ๋ถ์
for i in range(0,int(amount)):
for person in players:
time.sleep(random.randint(1,4)) # ๊ธด์ฅ๊ฐ์ ์ํด LAG ์ถ๊ฐ
dice = random.randint(min_n, max_n)
print(f'{person} ์ฃผ์ฌ์ {i}: ', dice)
result[person].append(dice)
print('='*40) #๊ตฌ๋ถ์
lucky = 99
print(result)
print('\n'*2)
for person in players:
time.sleep(2)
print(f'{person}๋์ ํฉ๊ณ๋: ', sum(result[person]))
print('='*40) #๊ตฌ๋ถ์
if sum(result[person]) < lucky:
lucky = sum(result[person])
lucky_person = person
elif sum(result[person]) == lucky:
lucky_person = lucky_person + ", " + person
print(f"๋น์ฒจ์๋: {lucky_person} ์
๋๋ค.")
LET_ME_DO_IT_AGAIN = play_again()
if __name__ == '__main__':
roll_dice()
ํฐ๋ฏธ๋์ main.py๋ก ์คํํ์๋ฉด ์ฃผ์ฌ์๊ฒ์์ ์ฆ๊ธธ ์ ์์ต๋๋ค.
์๋๋ ์คํ ์์์ ๋๋ค:
๊ทธ๋ผ ๋ชจ๋ ์ฌ๋ฐ๋ ๋ด๊ธฐ๋ก ํ๋ฃจ๋ฅผ ๋ณด๋ด์ธ์ ใ ใ
'๐ป ITยท๊ธฐ์ ยทํต๊ณ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[API] OpenAI API ๊ฐ์ง๊ณ ๋๊ธฐ 2ํ: ๊ฐ์ฒด๋ช ์ธ์ (NER) (0) | 2023.02.04 |
---|---|
[API] OpenAI API ๊ฐ์ง๊ณ ๋๊ธฐ 1ํ: TL;DR (๊ธด๊ธ ์์ฝ) (0) | 2023.02.03 |
[NLP] ์ ๊ทํํ์์ ํ์ฉํ ์ ์ฒ๋ฆฌ ๋ฐ ๋ฐ์ดํฐ ์ถ์ถ (0) | 2023.01.29 |
[์นํฌ๋กค๋ง 2ํ] selenium webdriver๋ฅผ ํ์ฉํ ์ํ ๋ฆฌ์คํธ ํฌ๋กค๋ง (0) | 2023.01.29 |
๋ฉํฐํ๋ก์ธ์ฑ (Multiprocessing) w/ Python (0) | 2023.01.26 |
๋๊ธ