-
Notifications
You must be signed in to change notification settings - Fork 0
/
Q8b.py.py
77 lines (72 loc) · 1.88 KB
/
Q8b.py.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import random as rand
Cards=[]
cards=[]
suit=[0 for i in range(4)]
symbol=[0 for i in range(13)]
suits=["Shades","Hearts","Diamonds","Clubs"]
symbols=[str(i+1) for i in range(13)]
symbols[0]='A'
symbols[10]='J'
symbols[11]='Q'
symbols[12]='K'
card=[i for i in range(52)]
rand.shuffle(card)
for i in range(5):
suit[card[i]//13]+=1
symbol[card[i]%13]+=1
cards.append(suits[card[i]//13])
cards.append(symbols[card[i]%13])
Cards.append(' '.join(cards))
cards=[]
def Check():
flush=0
straight=0
A_straight=0
four_of_a_kind=0
three_of_a_kind=0
pair=0
count=0
for i in range(4):
if suit[i]==5:
flush=1
for i in range(13):
if symbol[i] != 0:
end = i;
if symbol[i]==4:
four_of_a_kind=1
elif symbol[i]==3:
three_of_a_kind=1
elif symbol[i]==2:
pair+=1
elif symbol[i] == 1:
count+=1
if count==5:
if symbol[0] and symbol[9] and symbol[10] and symbol[11] and symbol[12]:
a_straight=1
else:
start=end-count+1
for i in range(start,end):
if symbol[i]:
count-=1
if count==0:
straight=1
if A_straight and flush:
return "Royal Straight Flush!!!"
elif straight and flush:
return "Straight Flush!"
elif four_of_a_kind:
return "Four of a kind!"
elif three_of_a_kind and pair:
return "Full House!"
elif flush==1:
return "Flush!"
elif straight or A_straight:
return "Straight!"
elif three_of_a_kind:
return "Three of a kind!"
elif pair:
return "Pair!"
else:
return "Separate..."
print("Result:",Cards)
print("Type:",Check())