mirror of
https://github.com/DavidGailleton/42-Piscine_Python.git
synced 2026-03-13 20:56:54 +01:00
Improved ex3
This commit is contained in:
@@ -11,14 +11,7 @@ if __name__ == "__main__":
|
|||||||
while i < len(args) - 1:
|
while i < len(args) - 1:
|
||||||
scores[i] = int(args[i + 1])
|
scores[i] = int(args[i + 1])
|
||||||
i = i + 1
|
i = i + 1
|
||||||
print("Scores processed: [", end="")
|
print("Scores processed:", scores)
|
||||||
i = 0
|
|
||||||
while i < len(scores):
|
|
||||||
print(scores[i], end="")
|
|
||||||
if not i == len(scores) - 1:
|
|
||||||
print(", ", end="")
|
|
||||||
i = i + 1
|
|
||||||
print("]")
|
|
||||||
print("Total players:", len(scores))
|
print("Total players:", len(scores))
|
||||||
print("Total score:", sum(scores))
|
print("Total score:", sum(scores))
|
||||||
print("Average score:", sum(scores) / len(scores))
|
print("Average score:", sum(scores) / len(scores))
|
||||||
|
|||||||
@@ -4,19 +4,7 @@ import sys
|
|||||||
|
|
||||||
def print_distance(a: tuple[int, int, int], b: tuple[int, int, int]) -> None:
|
def print_distance(a: tuple[int, int, int], b: tuple[int, int, int]) -> None:
|
||||||
distance = math.sqrt((a[0]-b[0])**2+(a[1]-b[1])**2+(a[2]-b[2])**2)
|
distance = math.sqrt((a[0]-b[0])**2+(a[1]-b[1])**2+(a[2]-b[2])**2)
|
||||||
print("Distance between (", end="")
|
print(f"Distance between: {a} and {b}: {distance}")
|
||||||
print(a[0], end="")
|
|
||||||
print(", ", end="")
|
|
||||||
print(a[1], end="")
|
|
||||||
print(", ", end="")
|
|
||||||
print(a[2], end="")
|
|
||||||
print(") and (", end="")
|
|
||||||
print(b[0], end="")
|
|
||||||
print(", ", end="")
|
|
||||||
print(b[1], end="")
|
|
||||||
print(", ", end="")
|
|
||||||
print(b[2], end="")
|
|
||||||
print("):", distance)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
@@ -32,8 +20,7 @@ if __name__ == "__main__":
|
|||||||
print("Parsing coordinates:", args[1])
|
print("Parsing coordinates:", args[1])
|
||||||
print_distance((0, 0, 0), int_args)
|
print_distance((0, 0, 0), int_args)
|
||||||
except ValueError as err:
|
except ValueError as err:
|
||||||
print("Parsing invalid coordinates: \"", end="")
|
print(f"Parsing invalid coordinates: \"{argv[1]}\"")
|
||||||
print(argv[1], end="\"\n")
|
|
||||||
print(err)
|
print(err)
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
print(err)
|
print(err)
|
||||||
|
|||||||
35
03/ex3/ft_achievement_tracker.py
Normal file
35
03/ex3/ft_achievement_tracker.py
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
class Player:
|
||||||
|
__name: str
|
||||||
|
__achievements: set[str]
|
||||||
|
|
||||||
|
def __init__(self, name:str, achievements: set[str]) -> None:
|
||||||
|
self.__name = name
|
||||||
|
self.__achievements = achievements
|
||||||
|
|
||||||
|
def get_name(self) -> str:
|
||||||
|
return self.__name
|
||||||
|
|
||||||
|
def get_achievements(self) -> set[str]:
|
||||||
|
return self.__achievements
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
players = [
|
||||||
|
Player("Alice", set(('first_kill', 'level_10', 'treasure_hunter', 'speed_demon'))),
|
||||||
|
Player("Bob",set(('first_kill', 'level_10', 'boss_slayer', 'collector'))),
|
||||||
|
Player("Charlie", set(('level_10', 'treasure_hunter', 'boss_slayer', 'speed_demon', 'perfectionist')))
|
||||||
|
]
|
||||||
|
print("=== Achievement Tracker System ===\n")
|
||||||
|
for n in players:
|
||||||
|
print(f"Player {n.get_name()} achievements: {n.get_achievements()}")
|
||||||
|
print("\n=== Achievement Analytics ===")
|
||||||
|
unique_achievements = players[0].get_achievements() | players[1].get_achievements() | players[2].get_achievements()
|
||||||
|
print(f"All unique achievements: {unique_achievements}")
|
||||||
|
print(f"Total unique achievements: {len(unique_achievements)}")
|
||||||
|
common_achievements = players[0].get_achievements() & players[1].get_achievements() & players[2].get_achievements()
|
||||||
|
print(f"\nCommon to all players: {common_achievements}")
|
||||||
|
p0_achievements = players[0].get_achievements() - players[1].get_achievements() - players[2].get_achievements()
|
||||||
|
p1_achievements = players[0].get_achievements() - players[1].get_achievements() - players[2].get_achievements()
|
||||||
|
p2_achievements = players[0].get_achievements() - players[1].get_achievements() - players[2].get_achievements()
|
||||||
|
print(f"Rare achievements (1 player): {rare_achievements}")
|
||||||
|
|
||||||
Reference in New Issue
Block a user