A salesperson in a large bicycle shop is paid a bonus if he
Solution
import numpy as np
 from random import random
#initialising variables
probability_of_more_than_4 = 0.4
 num_of_days = 10000
 total_bonus = 0
 bonuses = []
#simulation loop
 for i in range(num_of_days):
     if random()>0.4: #checking if sold more than 4
         bonus_for_the_day = 0
         number_of_cycles_prob = random()
        #based on probability setting number of cycles sold
         if number_of_cycles_prob<0.35:
             num_of_cycles = 5
         elif number_of_cycles_prob<0.8:
             num_of_cycles = 6
         elif number_of_cycles_prob<0.95:
             num_of_cycles = 7
         else:
             num_of_cycles = 8
        #iterating through the cycles to calculate bonus
         for i in range(num_of_cycles):
             model = random() #selecting a random model based on given probabilities
             if model<0.4:
                 bonus = 10
             elif model<0.75:
                 bonus = 15
             if model<0.95:
                 bonus = 20
             else:
                 bonus = 25
             bonus_for_the_day += bonus
         bonuses.append(bonus_for_the_day)
         total_bonus += bonus_for_the_day
 standard_dev = np.std(bonuses)
 print \"std: \", standard_dev
 standard_error = standard_dev/sqrt(num_of_days)
 alpha = 0.05
 critical_probability = 1-alpha/2.0
 df = num_of_days - 1
 average_bonus_per_day = total_bonus*1.0/num_of_days
 print average_bonus_per_day
#Then calculate the confidence value using the table here:
#http://stattrek.com/online-calculator/t-distribution.aspx
#based on the values you get using this code. Since it will be a little different each time.


