mirror of
https://github.com/Floriansylvain/FDJ-SLAYER.git
synced 2026-08-19 19:53:19 +02:00
47 lines
1.4 KiB
Python
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()
|