Python
/
Applications
- 1 Language 9
-
Hello World S
-
Variables S
-
Functions S
-
Conditional A S
-
Operators S
-
While S
-
Turtle S
-
Script Mode S
-
Debugging S
- 2 Strings 7
-
Slice S
-
Raw Strings S
-
Regex A S
-
Validation S
-
Config S
-
Security S
-
Encrypt A S
- 3 Collections 6
-
Lists S
-
Dictionaries S
-
Efficiency S
-
Tree S
-
Tuples S
-
References S
- 4 Functions 5
-
Recursion S
-
Factorial S
-
Modulus S
-
Reassignment S
-
Approximate S
- 5 Storage 8
-
Files S
-
Databases S
-
Pipes S
-
With open S
-
Shelve A S
-
Zip S
-
Csv S
-
Json S
- 6 Class 4
-
Definition S
-
Attributes S
-
Functional S
-
Methods S
- 7 Goodies 5
-
Conditional Expression S
-
List Comprehension A S
-
Generator S
-
Named Tuple S
-
Modules S
- 8 Applications 5
-
Pythagora A S
-
Palindrome A S
-
Binary Search A S
-
Conway Game A S
-
Coin Flip A S
- 9 Scheduler 4
-
Time S
-
Multithreading A S
-
Subprocess S
-
Logging S
- 10 Packages 6
-
Clipboard A S
-
Ocr A S
-
Socket S
-
Image S
-
Virtualenv S
-
Jupyter S
S
R
Q
Python Applications Coin Flip
A horse wins 25 times from 100 races ... the probability of winning si 25/100 = 0.25 (25%) The odds of winning are 25/75 = 0.333 (1 win to 3 loses)
Coin flip (A)
p107 Probability of 6 in a row for 100 coin flip trials.
"""Coin Flip:
A program to find out how often
a line of six heads or six tails comes up
in a randomly generated list of heads and tails."""
import random
streaks = 0
for i in range(10000): # Run experiment multiple times
HT = [] # Create a lists of 100 heads or tails (flips)
for j in range(100):
if random.randint(0,1) == 0:
HT.append('H')
else:
HT.append('T')
print(HT)
for k in range(len(HT)): # Search streaks of 6 heads or tails
count = 0
for m in range(6):
try:
if HT[k] == 'H' and HT[k] == HT[k+m]:
count += 1
else:
count = 0
break
except IndexError: # item 95
break
if count == 6:
print('\x1b[6;30;42m' + str(HT[k:k+6]) + '\x1b[0m')
streaks += 1
posibilities = 95 * 10000 # maxim posibilities
percentage = streaks * 100 / posibilities
probability = percentage / 100
print("Streaks: ", streaks)
print("Posibilities: ", posibilities)
print("Probability: ", probability)
print("Math 1/2^6: ", 1/2**6)
# Streaks: 14861
# Posibilities: 950000
# Probability: 0.01564315789473684
# Math 1/2^6: 0.015625
You can create HT list using random choises method.

"""Coin Flip:
A program to find out how often
a line of six heads or six tails comes up
in a randomly generated list of heads and tails.
Version 2"""
import random
streaks = 0
for i in range(10000):
HT = random.choices('HT', k=100) # Look Here
for k in range(len(HT)):
count = 0
for m in range(6):
try:
if HT[k] == 'H' and HT[k] == HT[k+m]:
count += 1
else:
break
except IndexError: # item 95
break
if count == 6:
streaks += 1
posibilities = 95 * 10000
percentage = streaks * 100 / posibilities
probability = percentage / 100
print("Streaks: ", streaks)
print("Posibilities: ", posibilities)
print("Probability: ", probability)
print("Math 1/2^6: ", 1/2**6)
# Streaks: 14861
# Posibilities: 950000
# Probability: 0.01564315789473684
# Math 1/2^6: 0.015625
➥ Questions