Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- def deckmaker():
- deck = []
- for i in range(52):
- if deck.count(0) == 26:
- deck.append(1)
- elif deck.count(1) == 26:
- deck.append(0)
- elif random.random() > .5:
- deck.append(0)
- else:
- deck.append(1)
- return deck
- def deckmaker2():
- newdeck = []
- for i in range(26):
- newdeck.append(0)
- for i in range(26):
- newdeck.append(1)
- deck = []
- for i in range(52):
- x = random.randint(0,len(newdeck)-1)
- deck.append(newdeck.pop(x))
- return deck
- mycards = []
- for j in range(1000):
- mydeck = deckmaker(52)
- mem_length = 5
- mem = []
- for c in range(mem_length):
- mem.append(4)
- for i in range(len(mydeck)):
- if mem.count(0) == mem_length:
- mycards.append(mydeck[i])
- break
- elif i == len(mydeck)-1:
- mycards.append(mydeck[i])
- break
- else:
- mem.append(mydeck[i])
- mem.pop(0)
- x = float(mycards.count(1))
- print x/len(mycards)
- import random
- def deckmaker(n):
- half = n // 2
- deck = []
- for i in range(n):
- if deck.count(0) == half:
- deck.append(1)
- elif deck.count(1) == half:
- deck.append(0)
- elif random.random() > .5:
- deck.append(0)
- else:
- deck.append(1)
- return deck
- from collections import Counter
- c = Counter()
- for i in range(1000):
- c[tuple(deckmaker(2))] += 1
- for t in sorted(c):
- print t, c[t]
- (0, 1) 495
- (1, 0) 505
- c[tuple(deckmaker(4))] += 1
- (0, 0, 1, 1) 236
- (0, 1, 0, 1) 127
- (0, 1, 1, 0) 133
- (1, 0, 0, 1) 135
- (1, 0, 1, 0) 130
- (1, 1, 0, 0) 239
- >>> from math import factorial as f
- >>> one = f(52) // f(26)**2
- >>> two = 2**26
- >>> float(one) / two
- 7389761.998476148
- def deckmaker(n=52):
- deck = [None] * n
- nremaining = float(n)
- nzero = nremaining / 2.0
- for i in range(n):
- if random.random() < nzero / nremaining:
- deck[i] = 0
- nzero -= 1.0
- else:
- deck[i] = 1
- nremaining -= 1.0
- return deck
- 25% (0, 0)
- 25% (0, 1)
- 25% (1, 0)
- 25% (1, 1)
- 25.0% (0, 0, 1, 1)
- 12.5% (0, 1, 0) > (0, 1, 0, 1)
- 12.5% (0, 1, 1) > (0, 1, 1, 0)
- 12.5% (1, 0, 0) > (1, 0, 0, 1)
- 12.5% (1, 0, 1) > (1, 0, 1, 0)
- 25.0% (1, 1, 0, 0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement