Skip to content

Commit ecb27ab

Browse files
author
tuntun
committed
列举一副牌所有牛牛的情况
1 parent 5362190 commit ecb27ab

File tree

1 file changed

+43
-37
lines changed

1 file changed

+43
-37
lines changed

niu.py

Lines changed: 43 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,54 @@
1+
# -*- coding:utf-8 -*-
12

23
# 列举一副牌所有牌型为牛牛的情况
3-
# author:tanteng
44

5-
import itertools,sys
6-
#初始化一副牌(除去大小王)
5+
__author__ = 'tanteng'
6+
7+
import itertools, sys
8+
9+
10+
# 初始化一副牌(除去大小王)
711
def cards():
8-
cards = {'黑桃A':1,'红桃A':1,'方块A':1,'梅花A':1}
9-
card_type = ['黑桃','红桃','方块','梅花']
12+
cards = {'黑桃A': 1, '红桃A': 1, '方块A': 1, '梅花A': 1}
13+
card_type = ['黑桃', '红桃', '方块', '梅花']
1014

11-
for c_type in card_type:
12-
for no in range(2,11):
13-
cards[c_type+str(no)] = no
15+
for c_type in card_type:
16+
for no in range(2, 11):
17+
cards[c_type + str(no)] = no
1418

15-
for name in ['J','Q','K']:
16-
cards[c_type+name] = 10
19+
for name in ['J', 'Q', 'K']:
20+
cards[c_type + name] = 10
1721

18-
return cards
22+
return cards
1923

20-
#从一副牌取5张牌所有排列
24+
25+
# 从一副牌取5张牌所有排列
2126
def all_cases(cards):
22-
return list(itertools.combinations(cards,5))
27+
return list(itertools.combinations(cards, 5))
28+
2329

2430
if __name__ == '__main__':
25-
cards = cards()
26-
all_cases = all_cases(cards)
27-
28-
print(len(all_cases))
29-
30-
for case in all_cases:
31-
temp_name = list(case)
32-
temp_value = []
33-
for ca in case:
34-
temp_value.append(cards[ca])
35-
36-
sums = sum(temp_value)
37-
if sums%10==0:
38-
s_cases = list(itertools.combinations(temp_name,3))
39-
for s_case in s_cases:
40-
temp_name2 = list(s_case)
41-
temp_value2 = []
42-
for s_ca in s_case:
43-
temp_value2.append(cards[s_ca])
44-
45-
sumc = sum(temp_value2)
46-
if sumc%10==0:
47-
print(temp_name)
48-
break
31+
cards = cards()
32+
all_cases = all_cases(cards)
33+
34+
print(len(all_cases))
35+
36+
for case in all_cases:
37+
temp_name = list(case)
38+
temp_value = []
39+
for ca in case:
40+
temp_value.append(cards[ca])
41+
42+
sums = sum(temp_value)
43+
if sums % 10 == 0:
44+
s_cases = list(itertools.combinations(temp_name, 3))
45+
for s_case in s_cases:
46+
temp_name2 = list(s_case)
47+
temp_value2 = []
48+
for s_ca in s_case:
49+
temp_value2.append(cards[s_ca])
50+
51+
sumc = sum(temp_value2)
52+
if sumc % 10 == 0:
53+
print(temp_name)
54+
break

0 commit comments

Comments
 (0)