Notes:

  • What is a simulation?
    • A simulation is an imitation of a situation or process
    • Aka a virtual experiment
  • Experiment definition: procedure undertaken to make a discovery, test a hypothesis, or demonstrate a known fact
  • So, why use a simulation?
    • Advantages:
      • Can be safer
      • More cost-effective
      • More efficient
      • More data in less time
    • Disadvantages:
      • Not as accurate as experiments
      • Outside factors not included (ex: in rolling dice simulation gravity and air resistance)
    • When do you not use a simulation?
      • When a situation already has set results/data (won't change)
      • Examples: a score in a game, most purchased food, average yearly wage

Hack #1

  • Create an idea for a simulation and describe it (you don’t actually have to code it just think about/answer the guiding questions).

An example of a simulation could be simulating the emergency exit procedures in an airplane. This can be used to simulate the crash of the plane and then simulating what people would do for an emergency evacuation. They would not want to do this in real life because having people in a crashing plane is unsafe

Hack #2

  • Simulation Quiz
questions_number = 6
answers_correct = 0
questions = [
    "True or False: Simulations will always have the same result. \n A: True, \n B: False",
    "True or False: A simulation has results that are more accurate than an experiment \n A: True, \n B: False",
    "True or False: A simulation can model real world events that are not practical for experiments \n A: True, \n B: False",
    "Which one of these is FALSE regarding simulations \n A: Reduces Costs, \n B: Is safer than real life experiments, \n C: More Efficient, \n D: More accurate than real life experiments",
    "Which of the following scenarios would be the LEAST beneficial to have as a simulation \n A: A retail company wants to identify the item which sold the most on their website, \n B: A restaurant wants to determine if the use of robots will increase efficiency, \n C: An insurance company wants to study the impact of rain on car accidents, \n D: A sports car company wants to study design changes to their new bike design ",
    "Which of the following is better to do as a simulation than as a calculation \n A: Keeping score at a basketball game, \n B: Keeping track of how many games a person has won, \n C: Determining the average grade for a group of tests, \n D: Studying the impact of carbon emissions on the environment"
]
question_answers = [
    "B",
    "B",
    "A",
    "D",
    "A",
    "D"
]

print("Welcome to the Simulations Quiz!")

def ask_question (question, answer):
    print("\n", question)
    user_answer = input(question)
    print("You said: ", user_answer)

    if user_answer == answer:
        print("Correct!")
        global answers_correct
        answers_correct = answers_correct + 1
    else:
        print("You are incorrect")
    
for num in range(questions_number):
    ask_question(questions[num], question_answers[num])

print("You scored: ", answers_correct, "/6")
Welcome to the Simulations Quiz!

 True or False: Simulations will always have the same result. 
 A: True, 
 B: False
You said:  B
Correct!

 True or False: A simulation has results that are more accurate than an experiment 
 A: True, 
 B: False
You said:  B
Correct!

 True or False: A simulation can model real world events that are not practical for experiments 
 A: True, 
 B: False
You said:  A
Correct!

 Which one of these is FALSE regarding simulations 
 A: Reduces Costs, 
 B: Is safer than real life experiments, 
 C: More Efficient, 
 D: More accurate than real life experiments
You said:  D
Correct!

 Which of the following scenarios would be the LEAST beneficial to have as a simulation 
 A: A retail company wants to identify the item which sold the most on their website, 
 B: A restaurant wants to determine if the use of robots will increase efficiency, 
 C: An insurance company wants to study the impact of rain on car accidents, 
 D: A sports car company wants to study design changes to their new bike design 
You said:  A
Correct!

 Which of the following is better to do as a simulation than as a calculation 
 A: Keeping score at a basketball game, 
 B: Keeping track of how many games a person has won, 
 C: Determining the average grade for a group of tests, 
 D: Studying the impact of carbon emissions on the environment
You said:  D
Correct!
You scored:  6 /6

Hack #3

  • Describe the rolling dice simulation

What makes it a simulation?

This is a simulation because the computer is rolling th dice for you instead of rolling dice by yourself. This code is producing the number from the dice roll with the random numbers.

What are its advantages and disadvantages?

Advantage: quicker, more efficient, don't have to buy dice

Disadvantage: not as hands on/different experience

In your opinion, would an experiment be better in this situation?

An experiment would not necessariily be better because in the simulation you are able to get numbers quickly and instantly

Hack #4

  • Add a feature to the dice roll code:
    • changed to a 10 sided dice
    • numbers sorted from least to greatest
def parse_input(input_string):
    if input_string.strip() in {"1", "2", "3","4", "5", "6"}:
        return int(input_string)
    else:
        print("Please enter a number from 1 to 6.")
        raise SystemExit(1)

import random

def roll_dice(num_dice):
    roll_results = []
    for _ in range(num_dice):
        roll = random.randint(1, 10)
        roll_results.append(roll)
    return roll_results


num_dice_input = input("How many dice do you want to roll? [1-6] ")
num_dice = parse_input(num_dice_input)
roll_results = roll_dice(num_dice)
roll_results.sort()

print("here are the numbers you rolled from least to greatest:", roll_results) 
here are the numbers you rolled from least to greatest: [2, 4, 6, 7, 8, 8]