๋ชฉ์ฐจ
728x90
์คํฐ๋์์ด ์ซ์์ผ๊ตฌ ๋ง๋ค์ด๋ณด๊ณ ์ถ๋คํ์ฌ ํ ๋ฒ ํด๋ดค์ต๋๋ค!
from random import *
import time
def insufficient(numlist): # ๋ถ์กฑํ ๊ฒฝ์ฐ
insufficient_cnt = 4 - len(numlist) # ๋ถ์กฑํ ๊ฐ์๋ฅผ ๊ณ์ฐ
print(f"์ค๋ณต๋ ์ ํน์ ์ ์ ์์ ์๋ฅผ ์
๋ ฅํ์์ต๋๋ค. ์ถ๊ฐ๋ก {insufficient_cnt}๊ฐ์ ๋ค๋ฅธ ์๋ฅผ ์
๋ ฅํด์ฃผ์ธ์.")
print("ํ์ฌ ์
๋ ฅ๋ ์", end=' : ')
numlist.sort()
for i in range(len(numlist)):
print(numlist[i], end=' ')
print('')
while True:
num = input(": ") # ์
๋ ฅ!
if len(num) != insufficient_cnt: # ๋ถ์กฑํ ๋งํผ๋ณด๋ค ๋ ์
๋ ฅํ๊ฑฐ๋ ๋ ์
๋ ฅํ ๊ฒฝ์ฐ(์ค๋ณตํฌํจ)
print(f"๋ค์ ์
๋ ฅํด์ฃผ์ธ์. ({insufficient_cnt}๊ฐ์ ์ซ์ ํ์)")
print("ํ์ฌ ์
๋ ฅ๋ ์", end=' : ')
for i in range(len(numlist)):
print(numlist[i], end=' ')
print('')
continue
else: # ๋ถ์กฑํ ๋งํผ ์ ์
๋ ฅํ๋ค๋ฉด?(์ค๋ณต ๊ณ ๋ คํ์ง ์๊ณ ๊ฐ์๋ง)
list_in_inspecting = numlist[:] # ์กฐ์ฌ๋ฆฌ์คํธ์ ํ์ฌ ๋ฆฌ์คํธ ๋ฃ๊ธฐ
for i in range(insufficient_cnt): # ์
๋ ฅ์ซ์ ๋ฃ์ด์ฃผ๊ธฐ
list_in_inspecting.append(num[i])
list_in_inspecting = list(set(list_in_inspecting)) # ์ค๋ณต์ ๊ฑฐ
if len(list_in_inspecting) == 4: # ๋ถ์กฑํ ์ ์
๋ ฅ ์ ์ค๋ณต์ด ์์๋ค๋ฉด?
numlist = list_in_inspecting[:]
break
else :
print(f"๋ค์ ์
๋ ฅํด์ฃผ์ธ์. (์ค๋ณต๋์ง ์๋ ์ซ์ {insufficient_cnt}๊ฐ๋ฅผ ์
๋ ฅํด์ฃผ์ธ์)")
continue
return numlist
def exceed(numlist): # ๋์น ๊ฒฝ์ฐ
exceed_cnt = len(numlist) - 4 # ๋์น ๊ฐ์๋ฅผ ๊ณ์ฐ
print(f"์๋ฅผ ์ด๊ณผํ์ฌ ์
๋ ฅํ์์ต๋๋ค. ์ ์ธํ ์ {exceed_cnt}๊ฐ๋ฅผ ์
๋ ฅํด์ฃผ์ธ์.")
while True:
print("ํ์ฌ ์
๋ ฅ๋ ์", end=' : ')
numlist.sort()
for i in range(len(numlist)):
print(numlist[i], end=' ')
print("")
num = input(": ")
if len(num) != exceed_cnt: # ๋์น ๋งํผ ๋ณด๋ค ๋ ํน์ ๋ ์
๋ ฅํ์ ๊ฒฝ์ฐ
print(f"๋ค์ ์
๋ ฅํด์ฃผ์ธ์. ({exceed_cnt}๊ฐ์ ์ซ์๋ฅผ ์
๋ ฅํด์ฃผ์ธ์.)")
continue # ๋ค์ ๋ฐ๋ณต์ผ๋ก ๋๊ธฐ๊ธฐ
# ๋์น ๋งํผ ์ ์
๋ ฅํ๋ค๋ฉด?
for i in range(exceed_cnt):
if num[i] in numlist:
numlist.remove(num[i])
if len(numlist) == 4: # 4์๋ฆฌ์ ์๊ฐ ์์ฑ์ด ๋์๋ค๋ฉด
result = numlist[:]
break # ๋ฐ๋ณต๋ฌธ ๋
else :
print("๋ค์ ์
๋ ฅํด์ฃผ์ธ์. (์ ์ธํ ์๋ฅผ ์ ํํ ์
๋ ฅํด์ฃผ์ธ์)") # ์ด๋ฏธ ์๋ ์๋ฅผ ์
๋ ฅํ์ง ์์์ ๊ฒฝ์ฐ
continue
return result
def inspect(numlist):
numlist = list(set(numlist))
if len(numlist) < 4:
result = insufficient(numlist)
result.sort()
print("์
๋ ฅ๋ ์", end=' : ')
for i in range(4):
print(result[i], end=' ')
print('')
return result
elif len(numlist) > 4:
result = exceed(numlist)
result.sort()
print("์
๋ ฅ๋ ์", end=' : ')
for i in range(4):
print(result[i], end=' ')
print('')
return result
else:
result = numlist
return result
def insert():
num = input("4์๋ฆฌ ์ซ์๋ฅผ ์ค๋ณต์์ด ์
๋ ฅํด์ฃผ์ธ์. [ex) 1234] : ")
num = str(int(num))
numlist = []
for i in range(len(num)):
numlist.append(num[i])
numlist = list(set(numlist))
numlist.sort()
return inspect(numlist)
def answer():
base = []
for i in range(4):
num = str(randint(1,9)) # 1
while num in base:
num = str(randint(1,9))
base.append(num)
base.sort()
return base
def strike_ball(userchoice, base):
strike = 0; ball = 0
for i in range(4):
if userchoice[i] == base[i]:
strike += 1
elif userchoice[i] in base:
ball += 1
for i in range(3):
print('.', end=' ')
time.sleep(0.7)
print(f'\n{strike}์คํธ๋ผ์ดํฌ {ball}๋ณผ')
time.sleep(0.7)
#ใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
ก
# main
start = 1
info = """
|๊ฒ์ ๊ท์น|----------------------------------------------------
1.์ด ๋์ ํ์๋ 10ํ ์
๋๋ค
2.์ซ์๋ฅผ ์
๋ ฅํ๋ฉด '์คํธ๋ผ์ดํฌ ์นด์ดํธ'์ '๋ณผ ์นด์ดํธ'๊ฐ ๋์ต๋๋ค.
(์ซ์๋ฅผ ์ ํํ๊ฒ ์ ์ด์ฃผ์ธ์!)
---------------------------------------------------------------
"""
while start == 1:
print("---------------------------------------------------------------")
print("<ํผ์ ์ฆ๊ธฐ๋ ์ซ์ ์ผ๊ตฌ ๊ฒ์>")
print(info, 'ํ
์คํธ์ฉ ์
๋๋ค. ์ง์ฐ๋ฉด๋จ!') # ์ ๋ต๋ถ๋ถ(ํ
์คํธ์ฉ)
for i in range(3):
print('.', end=' ')
time.sleep(0.7)
print("\n๊ฒ์์ ์์ ํ์๊ฒ ์ต๋๊น? Y/N ")
while True:
gamestart = input(": ").upper()
if gamestart == "Y" or 'N':
break
else:
print("๋ค์ ์
๋ ฅํด์ฃผ์ธ์.")
continue
if gamestart == 'Y':
base = answer()
print(base)
print("์์!")
cnt = 0
while cnt < 10:
cnt += 1
print("---------------------------------------------------------------")
print(f"{cnt}๋ฒ์งธ ์๋")
userchoice = insert()
userchoice.sort()
if userchoice == base:
print(f"์ฑ๊ณต!")
break
else:
strike_ball(userchoice,base)
continue
if cnt == 10:
time.sleep(0.7)
print("---------------------------------------------------------------")
print("์ ๋ฐ... 10๋ฒ์ ๊ธฐํ ์์ ์ซ์๋ฅผ ๋ง์ถ์ง ๋ชปํ์ต๋๋ค.")
time.sleep(0.7)
print("์ ๋ต์ ๋ฐ๋ก!")
for i in range(4):
print(base[i], end=' ')
time.sleep(0.7)
print("์๊ณ ํ์
จ์ต๋๋ค.")
print("GAME OVER")
time.sleep(2)
elif gamestart == 'N':
print("END")
start = 0
else:
print("๋ค์ ์
๋ ฅํด์ฃผ์ธ์.")
์คํฐ๋์์ ์์ง ์์ธ์ฒ๋ฆฌ๋ ํด๋์ค ๋ถ๋ถ์ ๋ค๋ฃจ์ง ์์์ ์ผ๋จ ํจ์๋ก๋ง ๊ตฌํ์ ํด๋ณด์๋๋ฐ
๋์ค์ ์ด๊ฑธ ๋ค์ ๋ณธ๋ค๋ฉด ์๋ง ์ง์ ๋ถํ ๋ถ๋ถ์ด ๋ง์ง ์์๊น ๋ผ๋ ๋๋??
'๐ | Python > ํ์ด์ฌ ์ด๊ฐ๋จ ํ๋ก์ ํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] BLE ํต์ ํ๊ธฐ with bleak (MacOS) - 2) ๋ฐ์ดํฐ ๋ฐ๊ธฐ (0) | 2023.05.24 |
---|---|
[Python] BLE ํต์ ํ๊ธฐ with bleak (MacOS) - 1) ํ์, ์ฐ๊ฒฐ (0) | 2023.05.24 |
Python_์ฌ์๋ฐค๋ฐ๋ค '์' ํ์๋ฅผ ์ธ์ด๋ณด์ (0) | 2022.01.17 |
์น ํฌ๋กค๋ง _ ๋ฆฌ๊ทธ์ค๋ธ๋ ์ ๋ ์ ์ ๊ฒ์๊ธฐ (0) | 2021.12.27 |
์ฃผ์ฌ์ ๋ฒ ํ ๊ฒ์ (0) | 2021.11.03 |
๋๊ธ