Friday, December 29, 2023

Euro Millions chooser OOP V1.35

import random 
class EuroMillions:
  """Generates a random EuroMillions ticket with no duplicate numbers."""

  def __init__(self):
    self.main_draw_numbers = range(1, 51)
    self.selected_numbers = []
    self.lucky_star_numbers = range(1, 13)

  def generate_numbers(self):
    while len(self.selected_numbers) <5:
      number = random.choice(self.main_draw_numbers)
      if number not in self.selected_numbers:
        self.selected_numbers.append(number)

    self.lucky_star_numbers = random.sample(self.lucky_star_numbers, 2)

  def get_numbers(self):
    return self.selected_numbers, self.lucky_star_numbers

class Dinner:
  """Selects a random dinner option."""

  def __init__(self):
    self.choices = ["Indian","Italian","Chinese","Mexican","Thai","French","Barbeque","Roast","Something Else"]

  def select_dinner(self):
    return random.choice(self.choices)

def main():
  euromillions = EuroMillions()
  euromillions.generate_numbers()

  dinner = Dinner()
  dinner_choice = dinner.select_dinner()

  if dinner_choice == "Barbeque":
    print("Your EuroMillions numbers are: Have a BBQ Tonight!!", euromillions.get_numbers())
    print("If you are lucky enough to Win donations are accepted at the following Bitcoin Address:")
    print("3Fa1XtwRM9v8qpwTwUHguAGNWBB9ETUJn4")
    print("Good Luck!!")
  elif dinner_choice == "French":
    print("but you won't be having a BBQ tonight!","instead you will be having a", dinner_choice, "dinner")
  elif dinner_choice == "Roast":
    print("but you won't be having a BBQ tonight!","instead you will be having a", dinner_choice, "dinner")
  else:
    print("but you won't be having a BBQ tonight!","instead you will be having", dinner_choice)

if __name__ == "__main__":
  main()

5G_rate_card_calculator

def calculate_rate_card(equipment, duration, data_usage):
    # Equipment rates per hour
    #calculate the number of hours per equipment_rate, i.e 2 * RU = 10, 1 * RU = 10 
    equipment_rates = {
        "base_station": 15,
        "SGR": 10,
        "RU": 10,
        "RIC": 20,
        "Radisys_RIC": 20,
        "Zyrix_RIC": 18,
        "vcCU": 9,
        "vmwareCU": 5,
        "vcDU": 4,
        "vmwareDU": 5,

        # Add more equipment and rates as needed
    }
    
    # Additional charges per hour
    additional_charges = {
        "power_consumption": 5,
        "maintenance": 10,
        # Add more charges as needed
    }
    
    # Calculate equipment charges DNC!
    equipment_charges = sum(equipment_rates.get(equip, 0) for equip in equipment)
    
    # Calculate additional charges DNC!
    additional_charges_total = sum(additional_charges.values())

    # Calculate total rate card DNC!
    total_rate_card = equipment_charges * duration + additional_charges_total
    
    # Calculate data usage charges (assuming a rate of £0.05 per MB CC)
    data_usage_charges = data_usage * 0.01
    
    # Add data usage charges to the total rate card DNC
    total_rate_card += data_usage_charges
    
    return total_rate_card

# Example usage input Factors from ToP of Script remove component HERE to modify calculation
equipment = ["base_station", "SGR", "RU", "Radisys_RIC", "vcCU", "vcDU"]
duration = 25  # hours
data_usage = 2500  # MB
durationInDays = duration / 24
rate_card = calculate_rate_card(equipment, duration, data_usage)

print(f"This is based on the following variables: {equipment}")
print(f"Duration of hours: {duration}")
print(f"Duration in Days: {durationInDays} ")
print(f"And a data usage pattern of in mb: {data_usage}")
print(f"The rate card for the 5G lab scenario is: £{rate_card}")

Gammon => Ham Calculator V1.0

def ham_cooking_time (grams): """ Calculates the cooking time for a ham based on its weight. Args: g...