This repository has been archived on 2025-05-27. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
CutieDecryptor/Reference Scripts/Singluar List for Frequencies.py
2024-04-15 13:02:21 -04:00

62 lines
2.2 KiB
Python

#!~/.pyenv/versions/3.11.6/bin/python
# Copyright (c) 2024 Cutieguwu | Olivia Brooks
#
# -*- coding:utf-8 -*-
# @Title: Coin Flipper.
# @Author: Cutieguwu | Olivia Brooks
# @Email: owen.brooks77@gmail.com | obroo2@ocdsb.ca
# @Description: Runs a given number of trials of 5 coin flips and reports the total groupings of tails.
#
# @Script: 8.py
# @Date Created: 06 March, 2024
# @Last Modified: 07 March, 2024
# @Last Modified by: Cutieguwu | Olivia Brooks
from random import randint
trials = ""
while trials.isnumeric() == False: # Ensure that user enters a number value to iterate.
trials = input("Enter a number of trials to run: ")
trials = int(trials)
tails = 0 # Tails in 5 throws
tailsGroups = [0, 0, 0, 0, 0, 0] # Index indicates number of tails present, value indicates frequency of the group.
def make_plural(x=int(), msg=str()):
"""
Appends "s" to msg if the value given isn't 1.
Returns the modified msg.
"""
if x != 1:
msg = msg + "s"
return msg
for x in range(trials): # Main run loop, runs for number of trials given.
msgTrial = ""
tails = 0
for i in range(5): # Run a trial; flip a "coin" five times.
flip = randint(1, 2)
msg = ", "
if i == 0:
msg = ""
if flip == 1:
msg = msg + "Heads"
else:
msg = msg + "Tails"
tails = tails + 1 # Record the number of tails for the trial.
msgTrial = msgTrial + msg
print(f"{msgTrial} You got {tails} tails.", end="") # Print all results of the trial at once.
tailsGroups[tails] = tailsGroups[tails] + 1 # Increment the appropriate tails.
for i in range(len(tailsGroups)): # Produce results with proper grammar.
print(make_plural(tailsGroups[i], make_plural(i, f"Rolled {i} tail") + f" in {tailsGroups[i]} trial") + ".") # Produce and print the final report, making "tail" plural if needed.