Bien sûr ! Voici un programme Python pour modéliser des équations mathématiques spécifiques au sujet des malwares, avec un ton sympa :
« `python
import matplotlib.pyplot as plt
def model_malware_spread(initial_infected, infection_rate, days):
« » »
Modélise la propagation d’un malware dans un réseau.
:param initial_infected: Nombre initial d’ordinateurs infectés
:param infection_rate: Taux d’infection par jour (0 à 1)
:param days: Nombre de jours à modéliser
:return: Liste des nombres d’ordinateurs infectés par jour
« » »
infected_computers = [initial_infected]
for day in range(1, days):
new_infections = infection_rate * (len(infected_computers) – infected_computers[-1])
infected_computers.append(infected_computers[-1] + new_infections)
return infected_computers
def plot_malware_spread(infected_computers):
« » »
Trace le graphique de la propagation du malware.
:param infected_computers: Liste des nombres d’ordinateurs infectés par jour
« » »
days = len(infected_computers)
plt.plot(range(days), infected_computers, marker=’o’)
plt.title(« Malware Spread Over Time »)
plt.xlabel(« Days »)
plt.ylabel(« Infected Computers »)
plt.grid(True)
plt.show()
def main():
print(« Bienvenue à notre simulation de propagation de malware ! »)
initial_infected = int(input(« Entrez le nombre initial d’ordinateurs infectés : « ))
if initial_infected <= 0:
print("Le nombre initial d'ordinateurs infectés doit être supérieur à 0.")
return
infection_rate = float(input("Entrez le taux d'infection par jour (0 à 1) : "))
if infection_rate < 0 or infection_rate > 1:
print(« Le taux d’infection doit être compris entre 0 et 1. »)
return
days = int(input(« Entrez le nombre de jours à modéliser : « ))
if days <= 0:
print("Le nombre de jours doit être supérieur à 0.")
return
infected_computers = model_malware_spread(initial_infected, infection_rate, days)
plot_malware_spread(infected_computers)
print("Merci d'avoir utilisé notre simulation de propagation de malware !")
if __name__ == "__main__":
main()
```
### Explication du programme
1. Fonction `model_malware_spread`:
- Cette fonction modélise la propagation d'un malware dans un réseau.
- Elle prend en entrée le nombre initial d'ordinateurs infectés, le taux d'infection par jour et le nombre de jours à modéliser.
- La fonction retourne une liste des nombres d'ordinateurs infectés par jour.
2. Fonction `plot_malware_spread`:
- Cette fonction trace le graphique de la propagation du malware.
- Elle utilise `matplotlib` pour créer un graphique montrant le nombre d'ordinateurs infectés par jour.
3. Fonction `main`:
- Cette fonction gère l'interaction avec l'utilisateur.
- Elle demande à l'utilisateur de fournir les paramètres nécessaires (nombre initial d'ordinateurs infectés, taux d'infection et nombre de jours).
- Elle appelle les fonctions `model_malware_spread` et `plot_malware_spread` pour modéliser et tracer la propagation du malware.
### Utilisation du programme
1. Exécutez le programme.
2. Suivez les instructions pour entrer les paramètres nécessaires.
3. Le programme affichera un graphique montrant la propagation du malware.
Ce programme est conçu pour être simple et sympa à utiliser, tout en modélisant un sujet sérieux comme la propagation des malwares.