♦♣♥♠ Challenge 01 - Heads or Tails ♦♣♥♠
Generate the random outcome of flipping a coin using Python. Use the letter 'H' for Heads, and the letter 'T' for Tails.
Your output could look like this:
H
Or it could look like this:
T
♦♣♥♠ Challenge 02 - Quit on Tails ♦♣♥♠
Simulate the flipping of the coin until I throw a 'T' (Tails).
Your output could look like this:
T
It could also look like this:
H
H
H
T
♦♣♥♠ Challenge 03 - Counting the Flips ♦♣♥♠
Let a user enter an integer that is used to determine the number of coin flips you program will make.
So if the user enters 20
, your code will simulate 20 coin flips. At the end of your program, it will display a summary of the frequency of Heads ('H') and Tails ('T') that were flipped.
So when starting your program, you might chose to code it like this:
import random
target_flips = int(input("Enter number of flips: "))
total_flips = 0
#declare any other variables here
while total_flips < target_flips:
#your code here
total_flips += 1
Your program might look like this when it is run:
Enter number of flips: 11
T
T
H
H
T
T
H
H
H
T
H
Number of Heads: 6
Number of Tails: 5
♦♣♥♠ Challenge 04 - Five in a Row ♦♣♥♠
Lets see how many flips it takes me to flip 5
Tails ('T') in a row.
When your program runs, it might look like this:
H
T
H
H
T
H
T
H
T
T
T
T
T
Number of flips: 13
♦♣♥♠ Challenge 05 - The Time Game ♦♣♥♠
Add the following functionality to your existing coin flip program:
- Ability to target a particular side of the coin ('H' or 'T')
- Ability to target the number of flips of the target side in a row, for the program to exit (e.g.
10
'Heads' in a row to exit)
- A timer using timeit, to determine how long the program took (see example below)
Here is some source code to help you get started:
import random
import timeit
side_to_target = input("Target Heads or Tails? Enter 'H' or 'T': ")
frequency_to_target = int(input("How many to target in a row: "))
target_reached = False
total_flips = 0
#declare other variables here
#main loop:
timeStarted = timeit.default_timer()
while not(target_reached):
#...code to process flip
total_flips += 1
print("Target reached in", total_flips, "flip(s).")
elapsed = timeit.default_timer() - timeStarted
print("Program took " + "{0:.2f}".format(round(elapsed,2)) + " seconds.")