Wednesday, September 6, 2023

Euro Millions chooser OOP v1.1

import random
class EuroMillionsTicket:
  """Represents a EuroMillions ticket."""

  def __init__(self):
    """Initializes the ticket."""
    self.main_draw_numbers = []
    self.lucky_star_numbers = []

  def generate_numbers(self):
    """Generates random numbers for the ticket."""
    # Set the range of numbers for the main draw
    main_draw_numbers = range(1, 51)

    # Select 5 random numbers from the main draw without duplicates
    for _ in range(5):
      number = random.choice(main_draw_numbers)
      if number not in self.main_draw_numbers:
        self.main_draw_numbers.append(number)

    # Set the range of numbers for the Lucky Star draw
    lucky_star_numbers = range(1, 13)

    # Select 2 random numbers from the Lucky Star draw without duplicates
    self.lucky_star_numbers = random.sample(lucky_star_numbers, 2)

  def __repr__(self):
    """Returns a string representation of the ticket."""
    return (
        f"EuroMillionsTicket(main_draw_numbers={self.main_draw_numbers}, "
        f"lucky_star_numbers={self.lucky_star_numbers})"
    )


class Dinner:
  """Represents a random dinner."""

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

  def get_dinner(self):
    """Returns a random dinner."""
    return random.choice(self.choices)


def main():
  """Generates a random EuroMillions ticket and prints it."""
  ticket = EuroMillionsTicket()
  ticket.generate_numbers()
  print(ticket)

  # Select a random dinner
  dinner = Dinner()
  print("You will have a", dinner.get_dinner(), "dinner.")


if __name__ == "__main__":
  main()

No comments:

Post a Comment

Gammon => Ham Calculator V1.0

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