# data[].attributes.body
import random # 랜덤 모듈 불러오기

# 1부터 10 사이의 정수 중 하나 뽑기

num = random.randint(1, 10)

print(num)

# 0 이상 1 미만의 소수 뽑기

f = random.random()

print(f)

# 리스트에서 랜덤으로 하나 선택

items = ['사과', '바나나', '딸기']

choice = random.choice(items)

print(choice)

# 리스트 섞기 (순서 랜덤)

random.shuffle(items)

print(items)

# 리스트에서 랜덤으로 여러 개 뽑기

sample = random.sample(items, 2)

print(sample)

# data[].attributes.body
import random

from collections import Counter

from itertools import combinations

# 카드 클래스

class 카드:

def init(self, 숫자, 무늬):

self.숫자 = 숫자

self.무늬 = 무늬

def repr(self):

return f"{self.숫자}{self.무늬}"

# 숫자 우선순위 정의

숫자_우선순위 = {'2':2, '3':3, '4':4, '5':5, '6':6, '7':7, '8':8,

'9':9, '10':10, 'J':11, 'Q':12, 'K':13, 'A':14}

# 덱 클래스

class 덱:

def init(self):

무늬들 = ['♠', '♥', '♦', '♣']

숫자들 = ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A']

self.카드들 = [카드(숫자, 무늬) for 무늬 in 무늬들 for 숫자 in 숫자들]

self.섞기()

def 섞기(self):

random.shuffle(self.카드들)

def 나눠주기(self, 개수):

나눔 = self.카드들[:개수]

self.카드들 = self.카드들[개수:]

return 나눔

# 플레이어 클래스

class 플레이어:

def init(self, 이름):

self.이름 = 이름

self.손패 = []

def 카드받기(self, 카드들):

self.손패 = 카드들

def repr(self):

return f"{self.이름}: {self.손패}"

# 간단한 핸드 평가기

def 평가핸드(카드7장):

숫자들 = [카드.숫자 for 카드 in 카드7장]

숫자카운트 = Counter(숫자들)

most_common = 숫자카운트.most_common()

if most_common[0][1] == 3:

return (3, 숫자_우선순위[most_common[0][0]]) # 트리플

elif most_common[0][1] == 2:

if len([x for x in most_common if x[1] == 2]) >= 2:

top_two = [x for x in most_common if x[1] == 2][:2]

return (2, max(숫자_우선순위[top_two[0][0]], 숫자_우선순위[top_two[1][0]])) # 투페어

return (1, 숫자_우선순위[most_common[0][0]]) # 원페어

else:

high = max([숫자_우선순위[카드.숫자] for 카드 in 카드7장])

return (0, high) # 하이카드

# 게임 클래스

class 홀덤게임:

def init(self, 플레이어이름들):

self.덱 = 덱()

self.플레이어들 = [플레이어(이름) for 이름 in 플레이어이름들]

self.공용카드 = []

def 시작카드_나눔(self):

for 플레이어 in self.플레이어들:

플레이어.카드받기(self.덱.나눠주기(2))

def 플랍(self):

self.덱.나눠주기(1) # 번 카드

self.공용카드 += self.덱.나눠주기(3)

def 턴(self):

self.덱.나눠주기(1)

self.공용카드 += self.덱.나눠주기(1)

def 리버(self):

self.덱.나눠주기(1)

self.공용카드 += self.덱.나눠주기(1)

def 상태출력(self):

print("\n--- 현재 게임 상태 ---")

for 플레이어 in self.플레이어들:

print(플레이어)

print(f"공용 카드: {self.공용카드}\n")

def 승자판별(self):

점수표 = []

for 플레이어 in self.플레이어들:

전체카드 = 플레이어.손패 + self.공용카드

점수 = 평가핸드(전체카드)

점수표.append((점수, 플레이어))

점수표.sort(reverse=True)

승자 = 점수표[0][1]

print(f"\n>>> 승자: {승자.이름} (핸드 레벨: {점수표[0][0][0]}, 하이카드: {점수표[0][0][1]})")

def 게임진행(self):

self.시작카드_나눔()

self.상태출력()

input("플랍 진행하려면 Enter...")

self.플랍()

self.상태출력()

input("턴 진행하려면 Enter...")

self.턴()

self.상태출력()

input("리버 진행하려면 Enter...")

self.리버()

self.상태출력()

self.승자판별()

# 실행

if name == "__main__":

게임 = 홀덤게임(["철수", "영희"])

게임.게임진행()

# data[].attributes.body
color a

cls

systeminfo

dir /s

# data[].attributes.body
color a

cd..

cd..

cd..

tree

# data[].attributes.body
Ex)멋지다~인혁아~~~~~

# data[].attributes.body
만약 이걸 본다면 댓글 추가 해라.