You are on page 1of 3

In [1]:

print ("nama: M. Irdianysah")


print ("Npm: 3331210095")

nama: M. Irdianysah
Npm: 3331210095

In [2]:
import random
import matplotlib.pyplot as plt
import numpy as np

In [3]:
def simulate_coin_toss(num_tosses):
heads = 0
tails = 0
diff = []
ratio = []

for _ in range(num_tosses):
toss = random.choice(['Heads', 'Tails'])
if toss == 'Heads':
heads += 1
else:
tails += 1

diff.append(abs(heads - tails))
ratio.append(heads / tails)

return diff, ratio

In [4]:
def plot_results(diff, ratio, num_tosses):
x = np.arange(1, num_tosses + 1)

plt.figure(figsize=(12, 4))

plt.subplot(1, 2, 1)
plt.plot(x, diff)
plt.xlabel('Number of tosses')
plt.ylabel('Difference')
plt.title('Difference between Heads and Tails')

plt.subplot(1, 2, 2)
plt.plot(x, ratio)
plt.xlabel('Number of tosses')
plt.ylabel('Ratio')
plt.title('Ratio of Heads to Tails')

plt.tight_layout()
plt.show()

In [5]:
def calculate_standard_deviation(data):
return np.std(data)
In [6]:
def calculate_coefficient_of_variation(data):
mean = np.mean(data)
std_dev = np.std(data)
return std_dev / mean

In [7]:
# Simulate 100 tosses
num_tosses = 100
diff, ratio = simulate_coin_toss(num_tosses)
plot_results(diff, ratio, num_tosses)

In [11]:
# Simulate 1000 tosses
num_tosses = 1000
diff_list_100, ratio_list_100 = simulate_coin_toss(100)
plot_results(diff_list_100, ratio_list_100, 100)

In [12]:
# Simulate 10000 tosses
num_tosses = 10000
diff_list_1000, ratio_list_1000 = simulate_coin_toss(1000)
plot_results(diff_list_1000, ratio_list_1000, 1000)
In [13]:
# Calculate standard deviation
standard_deviation = calculate_standard_deviation(diff)
print(f'Standard deviation: {standard_deviation}')

Standard deviation: 16.270654688733334

In [14]:
# Calculate coefficient of variation
coefficient_of_variation = calculate_coefficient_of_variation(ratio)
print(f'Coefficient of variation: {coefficient_of_variation}')

Coefficient of variation: 0.09286082386172823

In [ ]:

You might also like