파 이 썬 을 바탕 으로 카드 를 만 드 는 과정 에 대한 상세 한 설명
카드 클래스 만 들 기
한 벌 의 카드 는 대왕 소 왕 을 제외 하고 나머지 52 장의 카드 는 무늬 와 색깔 을 기준 으로(매화,사각형,스페이드,하트)4 조로 나 눌 수 있 고 각 조 는 13 장의 카드 로 구성 된다.따라서 두 개의 목록 을 만 들 수 있 습 니 다.하 나 는 꽃 색 을 저장 하고 하 나 는 13 개의 문 자 를 저장 할 수 있 습 니 다.두 목록 사이 의 무 작위 조합 을 통 해 52 장의 카드 를 만 들 고,
코드 는 다음 과 같 습 니 다:
코드 에 서 는 collections.namedtuple 모듈 을 통 해 하나의 종 류 를 만들어 서 카드 를 표시 합 니 다.['rank','suit']는 각각 카드 의 문자(2-10,J-A)와 무늬 를 표시 합 니 다.
FranchDeck 류 는 52 장의 카드 를 만 듭 니 다.그 중에서 두 가지 특수 한 방법 이 있 습 니 다.len()은 카드 수량 을 되 돌려 줍 니 다.getitem__() position(색인)에서 지정 한 카드 가 져 오기
무 작위 로 카드 한 장 을 뽑다
여기 서 random 모듈 을 빌려 무 작위 로 카드 를 뽑 는 기능 을 실현 합 니 다.
목록 교체,절편
왜냐하면getitem__ 방법[]조작 을 self.cards 목록 은 위 에서 언급 한 index 포 지 셔 닝 을 제외 하고 FranckDeck()류 는 절편,교체 작업 도 실현 할 수 있 습 니 다.
정렬 조작
일반적으로 포인트 에 따라 카드 의 크기 를 판단 하면 2 가 가장 작고 A 가 가장 크다.포인트 정렬 을 실현 하 는 것 은 비교적 간단 합 니 다.포인트 목록 을 만 들 때 위 에서 언급 한 순서 로 만 듭 니 다.정렬 할 때 포인트 가 있 는 index 를 기준 으로 정렬 하면 됩 니 다.
포 인 트 를 제외 하고 또 하나의 화색 도 고려 해 야 한다.화색 에 대해 서 는 맵 기준(가중치 라 고도 할 수 있다)을 구축 하고 서로 다른 화색 에 서로 다른 값 을 부여 해 야 한다.Python 의 사전 유형 은 우리 의 수 요 를 만족 시 킬 수 있 습 니 다.
코드 판독:
1.코드 에서 사전 을 이용 하여 매 핑 체 제 를 추 가 했 는데 검 은 복숭아 는 3 이 고 홍 심 은 2 이 며 사각형 은 그 다음 에 매화 이다.2,spades 생 성high 함수 로 각 카드 의 가중치 총액 을 계산 합 니 다.3,sorted()함수 key=spades 이용하 이 는 정렬 기준 으로 포커 정렬 을 실현 합 니 다.
카드 세탁 조작
카드 를 섞 는 것 은 쉽게 말 하면 카드 한 벌 에 대해 불규칙 적 으로 정렬 하 는 것 이다.정상 적 인 상황 random.shuffle 은 이 기능 을 매우 효과적으로 실현 할 수 있 지만 전 제 는 대상 이 가 변 협 의 를 만족 시 켜 야 한다.여기 서 FranchDeck()는 만족 하지 않 고 직접 사용 하면 잘못 보고 할 수 있다.
위의 문제 에 대해 서 는 변 하지 않 는 것 에서 가 변 적 인 것 으로 바 꾸 기만 하면 됩 니 다.함수 할당 을 로 만 듭 니 다.setitem__ 속성
여기 서 앞 뒤 카드 를 흐 트 러 뜨리 는 앞의 5 가지 요 소 를 추출 하여 카드 를 섞 는 기능 을 실현 하 였 습 니 다!
이상 의 코드 부분 에 따라 더욱 개발 하여 54 장의 카드 의 시각 화 된 그림 을 미리 디자인 할 수 있 습 니 다.
키:value 맵 관 계 를 만 듭 니 다.카드 문자 와 시각 화 된 그림 사이 에 맵 관 계 를 만 듭 니 다.다음 그림 과 같이 이 관계 집합 을 지정 한 데이터베이스 나 파일 에 저장 하고 나중에 사용 하면 직접 호출 할 수 있 습 니 다.
위의 진급 게임 방법 에 따라 Python 기반 카드 개발 애플 릿 을 만 들 수 있 습 니 다!
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.