Files
FDJ-SLAYER/main.py
T

47 lines
1.4 KiB
Python

"""
Main entry point for the FDJ Slayer application.
"""
import random
from fdj_slayer.draw import Draw
from fdj_slayer.stats import StatsAnalysis, StatsVisualization
from fdj_slayer.weather import Weather
from fdj_slayer.constants import MAX_NUMBER, MAX_STAR, NUMBER_OF_NUMBERS, NUMBER_OF_STARS
def main():
"""Main entry point for the application"""
weather = Weather()
stats_analyzer = StatsAnalysis(
MAX_NUMBER, MAX_STAR, NUMBER_OF_NUMBERS, NUMBER_OF_STARS)
stats_visualizer = StatsVisualization(MAX_NUMBER, MAX_STAR)
draw = Draw(weather)
print("\nWelcome to FDJ SLAYER - Your EuroMillions Number Generator!")
try:
num_draws = int(input("\nHow many draws would you like to generate? "))
except ValueError:
num_draws = 5
print(f"Invalid input, defaulting to {num_draws} draws.")
print("\nGenerating random draws with enhanced entropy...")
draws = draw.generate_draws(num_draws)
if draws:
displayed = set()
random_index = random.randint(0, len(draws) - 1)
draw.display_draw(
draws[random_index], random_index, "RANDOMLY SELECTED DRAW")
displayed.add(random_index)
draw.display_additional_draws(draws, displayed)
print("\nAnalyzing randomness of the generated draws...")
analysis = stats_analyzer.analyze_randomness(draws)
stats_visualizer.display_randomness_analysis(analysis)
if __name__ == "__main__":
main()