diff --git a/DataAnalyser.py b/DataAnalyser.py index 1ae3051e50f96ba13a691fc7738f0966233cb4be..7eb8fc3135eb1b5a68f3102a64177acb59599257 100644 --- a/DataAnalyser.py +++ b/DataAnalyser.py @@ -140,21 +140,26 @@ class DataAnalyser(DataHandler): return rainSessions def raceHasWeatherChange(self, race: Session): - if self.getEarliestTireChange(race) == -1: return True + if self.getFirstTireChange(race) == -1: return True return False # ===== Tire Changes ===== - def getEarliestTireChanges(self, races: list[Session]): + def getFirstTireChanges(self, races: list[Session]): earliestTireChanges: list[int] = [[]] # isRaining per lap per race for race in races: - earliestTireChange = self.getEarliestTireChange(race) + earliestTireChange = self.getFirstTireChange(race) earliestTireChanges.append(earliestTireChange) return earliestTireChanges - # Returns -1 if no tire change occurred - def getEarliestTireChange(self, race: Session): + def getFirstTireChange(self, race: Session): + """ + Determines the first lap in which a tire change to a different weather compound was done. + :param race: Race session in which to look for a tire change. + :return: Lap number in which the first tire change to a different weather compound took place. Returns -1 if no + such tire change took place. + """ compoundsPerLap: list[list[str]] = self.getCompoundsForRace(race) compoundsPerLap[0] = compoundsPerLap[1] # presume grid tires same as 1st lap; races are only picked if weather change after first 10 laps anyway, so it's ok startingCompound: str = self.getPredominantCompound(compoundsPerLap[0]) @@ -162,15 +167,20 @@ class DataAnalyser(DataHandler): return earliestTireChangeLap - def getLatestTireChanges(self, races: list[Session]): + def getLastTireChanges(self, races: list[Session]): latestTireChanges: list[int] = [[]] # isRaining per lap per race for race in races: - latestTireChange = self.getLatestTireChange(race) + latestTireChange = self.getLastTireChange(race) latestTireChanges.append(latestTireChange) return latestTireChanges - # Returns -1 if no tire change occurred - def getLatestTireChange(self, race: Session): + def getLastTireChange(self, race: Session): + """ + Determines the last lap in which a tire change to a different weather compound was done. + :param race: Race session in which to look for a tire change. + :return: Lap number in which the last tire change to a different weather compound took place. Returns -1 if no + such tire change took place. + """ compoundsPerLap: list[list[str]] = self.getCompoundsForRace(race) compoundsPerLap[0] = compoundsPerLap[1] # presume grid tires same as 1st lap; races are only picked if weather change after first 10 laps anyway, so it's ok startingCompound: str = self.getPredominantCompound(compoundsPerLap[0]) diff --git a/main.py b/main.py index 40051979856bac57657244e3235bf3db49c924ed..8d6d15f13e9a31dafab42ed34fcf4087b03a0d57 100644 --- a/main.py +++ b/main.py @@ -57,9 +57,9 @@ class Main: overtakesInRaces: list[int] = dataHandler.analyser.getOvertakesPerLapForRace(raceSession) print("Overtake analysis done") # weatherInRaces = analyser.analyseRaceForWeather(raceSession) - earliestTireChange: int = dataHandler.analyser.getEarliestTireChange(raceSession) # first lap where someone switched from slicks to non slicks or vice versa, denoted by lap number + earliestTireChange: int = dataHandler.analyser.getFirstTireChange(raceSession) # first lap where someone switched from slicks to non slicks or vice versa, denoted by lap number print("First tire change done") - latestTireChange: int = dataHandler.analyser.getLatestTireChange(raceSession) + latestTireChange: int = dataHandler.analyser.getLastTireChange(raceSession) print("Last tire change done")