Problem 1

  • Two airplanes are in a race, your job is to make a plane name list, append the name value to the participents then make a variable that pulls the distance covered for each plane. in the end, in the curly brackets print the name of the plane, add more variables with curly brackets.
# Define a list of airplane race participants
participants = [
    {"name": "Billium Bang", "plane": "Red Rocket", "distance_covered": 1200},
    {"name": "Bushawn Bal", "plane": "The Biggest Bird", "distance_covered": 1500},
    {"name": "Matt Hall", "plane": "The silent flyby", "distance_covered": 1700}
]

# Calculate the total distance covered by each pilot during the race
for participant in participants:
    pilots = participant["name"]
    planes = participant["plane"]
    distance_flown = participant["distance_covered"]

for participant in participants:
    pilots = participant["name"]
    planes = participant["plane"]
    distance_flown = participant["distance_covered"]

    
    #your code here

    print(f"The pilot named {pilots}, who flew the plane named '{planes}', covered the  distance of {distance_flown} miles")

# Determine the winner
winner = max(participants, key=lambda x: x["distance_covered"])
print(f"The winner of the airplane race is {winner['name']} in the '{winner['plane']}' with a distance of {winner['distance_covered']} miles!")

The pilot named Billium Bang, who flew the plane named 'Red Rocket', covered the  distance of 1200 miles
The pilot named Bushawn Bal, who flew the plane named 'The Biggest Bird', covered the  distance of 1500 miles
The pilot named Matt Hall, who flew the plane named 'The silent flyby', covered the  distance of 1700 miles
The winner of the airplane race is Matt Hall in the 'The silent flyby' with a distance of 1700 miles!

Problem 2

  • Add more participants , in the loop, add a tricks variable that gets data from participants list score = tricks * 10 # Each trick is worth 10 points add a score and add it to a score in the list ex list[score] = score
# Define a list of dog show participants
participants = [
    {"name": "Fido", "breed": "Golden Retriever", "tricks": 4},
    {"name": "Goldie", "breed": "German Shepherd", "tricks": 5},
    {"name": "Archer", "breed": "Australian Shepherd", "tricks": 6},
    {"name": "Tucker", "breed": "Golden Retriever", "tricks": 8}
    # Add more dog participants here
]

# Calculate the scores for each dog based on the number of tricks they can perform
for participant in participants:
    name = participant["name"]
    tricks = participant["tricks"]
    score = tricks * 10  # Since eachtrick is worth 10 points
    participant["score"] = score

# Determine the winning dog
winner = max(participants, key=lambda x: x["score"])
print(f"The winning dog is {winner['name']} with an overall score of {winner['score']} point!")

# Display the dog show results
print("Dog Show Results:")
for participant in participants:
    print(f"{participant['name']} - Breed: {participant['breed']}, Tricks: {participant['tricks']}, Overll Score: {participant['score']} points")


The winning dog is Tucker with an overall score of 80 points!
Dog Show Results:
Fido - Breed: Golden Retriever, Tricks: 4, Score: 40 points
Goldie - Breed: German Shepherd, Tricks: 5, Score: 50 points
Archer - Breed: Australian Shepherd, Tricks: 6, Score: 60 points
Tucker - Breed: Golden Retriever, Tricks: 8, Score: 80 points

this problem, were making a bank account, you just have to know what to do to add all of the functions to change the variables

# Define a class representing a Bank Account
class BankAccount:
    def __init__(self, account_holder, balance=0):
        self.account_holder = account_holder
        self.balance = balance

    def deposit(self, amount):
        if amount > 0:
            self.balance += amount
            print(f"Deposited ${amount}. New balance: ${self.balance}")
        else:
            print("Invalid deposit amount!! REDO AGAIN.")

    def withdraw(self, amount):
        if 0 < amount <= self.balance:
            self.balance += amount
            print (f"You Have Withdrawn ${amount}. Thus your new balane is ${self.balance}")
        else:
            print(f" Invaild Requested Amount, Please enter valid amount in bank.")
                
    def get_balance(self):
        return self.balance

    def __str__(self):
        return f"welcome valued customer: {self.account_holder}, your current balnace is: ${self.balance}"

# Create two bank accounts Alex with 1000$ initially, and Noah with 5$ initially:
alexAccount = BankAccount("Alex", 1000)
noahAccount = BankAccount("Noah", 5)

# Perform some transactions, withdraw all money of Alex , and give it all to Noah. now that noah has a lot of money, he goes on a spending spree, he must withdraw all of his money
# EX!!!! account1.deposit(500)
#
#your code !
alexAccount.deposit(alexAccount.get_balance())
noahAccount.withdraw(noahAccount.get_balance())
#
#
#  Display account information

print("Alex Account", alexAccount)
print("Noah Account", noahAccount)

Deposited $1000. New balance: $2000
You Have Withdrawn $5. Thus your new balane is $10
Alex Account welcome valued customer: Alex, your current balnace is: $2000
Noah Account welcome valued customer: Noah, your current balnace is: $10

add more regions

import random

# Define a list of regions, each represented as a dictionary
regions = [
    {
        "name": "Region A",
        "GDP_growth": random.uniform(0.5, 3.0),  # Random GDP growth rate between 0.5% and 3.0%
        "unemployment_rate": random.uniform(3.0, 10.0),  # Random unemployment rate between 3.0% and 10.0%
        "investment_score": random.uniform(50, 100),  # Random investment score between 50 and 100
        "education_index": random.uniform(0.5, 1.0),  # Random education index between 0.5 and 1.0
        "infrastructure_quality": random.uniform(3.0, 8.0)  # Random infrastructure quality between 3.0 and 8.0 (scale of 1-10)

    },
    {
        "name": "region B",
        "GDP_growth": random.uniform(1.0,3.0),
        "unemployment_rate": random.uniform(4.0, 6.0),
        "investment_score": random.uniform(66, 89),
        "education_index": random.uniform(0.75, 0.99),
        "infrastructure_quality": random.uniform(3.2, 7.8)
    }
    # Define more regions
]

# Define weights for each economic indicator
weights = {
    "GDP_growth": 0.4,
    "unemployment_rate": -0.2,
    "investment_score": 0.3,
    "education_index": 0.1,
    "infrastructure_quality": 0.2
}

# Function to calculate a score for each region based on economic indicators and weights
def calculate_score(region):
    score = 0
    for indicator, weight in weights.items():
        score += region[indicator] * weight
    return score

# Find the region with the highest economic growth potential
best_region = max(regions, key=calculate_score)

# Display information about the winning region
print(f"The region with the highest economic growth potential is {best_region['name']}:")
print(f"- GDP Growth Rate: {best_region['GDP_growth']:.2f}%")
print(f"- Unemployment Rate: {best_region['unemployment_rate']:.2f}%")
print(f"- Investment Score: {best_region['investment_score']:.2f}")
print(f"- Education Index: {best_region['education_index']:.2f}")
print(f"- Infrastructure Quality: {best_region['infrastructure_quality']:.2f}")

The region with the highest economic growth potential is region B:
- GDP Growth Rate: 2.09%
- Unemployment Rate: 5.55%
- Investment Score: 76.72
- Education Index: 0.95
- Infrastructure Quality: 4.06

problem final

  • make an empty list and dictionary
  • add data in all of the given simple loops, so that this problem runs its print functions without error
  • this one is hard, try very hard, a heartfelt atempt, like all of the code done with minor issues is still full credit

try to understand this problem, it has lots of data abstractions

data is given on the bottem and a function is calling it IMPORTANT!!!

def simulate_data_structure(data):
     # Dictionary to store city data must be blank
     # List to store city statistics also blank
    city_data = {}
    city_stats = {}

    for person in data:
        name = person["name"]
        age = person["age"]
        city = person["city"]

        # 1. Create a dictionary of city data
        if city not in city_data:
            city_data[city] = {"names": [], "total_age": 0, "total_people": 0} # reduces err

        city_data[city]["names"].append(name) # Add the name to the city's list
        city_data[city]["total_age"] += age # Add the age to the city's total age
        city_data[city]["total_people"] += 1 # Increment the total people count
    

    for city, city_info in city_data.items():
        # 2. Calculate the average age for each city
        #your code after the dot, what happens here, how do u apend a dictionary??? 
        average_age = city_info["total_age"] / city_info["total_people"]
        city_info["average_age"] = round(average_age, 2)  # Round to 2 decimal places

        # 3. Create a dictionary for city statistics
        city_stats[city] = {
            "total_people": city_info["total_people"],
            "average_age": city_info["average_age"],
        }

    # Add the city statistics under the "Statistics" key
    city_data["Statistics"] = city_stats

    return city_data

# Example data
data = [
    {"name": "Alice", "age": 25, "city": "New York"},
    {"name": "Bob", "age": 30, "city": "Los Angeles"},
    {"name": "Charlie", "age": 22, "city": "New York"},
    {"name": "David", "age": 35, "city": "Los Angeles"},
    {"name": "Eve", "age": 28, "city": "Chicago"},
]

result = simulate_data_structure(data)
print(result)

{'New York': {'names': ['Alice', 'Charlie'], 'total_age': 47, 'total_people': 2, 'average_age': 23.5}, 'Los Angeles': {'names': ['Bob', 'David'], 'total_age': 65, 'total_people': 2, 'average_age': 32.5}, 'Chicago': {'names': ['Eve'], 'total_age': 28, 'total_people': 1, 'average_age': 28.0}, 'Statistics': {'New York': {'total_people': 2, 'average_age': 23.5}, 'Los Angeles': {'total_people': 2, 'average_age': 32.5}, 'Chicago': {'total_people': 1, 'average_age': 28.0}}}