[Python] Afficher la plus grande suite du chiffre 1
Résolu
Robin
-
Robin -
Robin -
Bonjour,
J'ai besoin d'aide concernant un programme, et je vous avoue que je suis carrément bloqué : Je dois écrire un algorithme permettant de générer 1000 fois un nombre entre 0 et 1. Pour ça, il n'y a pas de problèmes.
Mais on me demande ensuite d'afficher la plus grande suite de 1 parmi le résultat et c'est à partir de là que je suis bloqué !
Quelqu'un aurait-il la gentillesse de me proposer une variable ?
Merci d'avance
J'ai besoin d'aide concernant un programme, et je vous avoue que je suis carrément bloqué : Je dois écrire un algorithme permettant de générer 1000 fois un nombre entre 0 et 1. Pour ça, il n'y a pas de problèmes.
Mais on me demande ensuite d'afficher la plus grande suite de 1 parmi le résultat et c'est à partir de là que je suis bloqué !
Quelqu'un aurait-il la gentillesse de me proposer une variable ?
Merci d'avance
A voir également:
- Algorithme afficher le plus grand nombre
- Afficher le 0 devant un nombre dans excel - Guide
- Trier du plus petit au plus grand excel - Guide
- Afficher appdata - Guide
- Photo insta en grand - Guide
- Nombre de jours entre deux dates excel - Guide
1 réponse
'lut, de manière naïve, il suffit d'itérer sur les nombres générés et sauvegarder l'emplacement sur lequel on est, d'incrémenter une variable à chaque 1, la remettre à 0 aux 0, et retenir les valeurs les plus hautes rencontrées (ici j'assume l'utilisation de Python 3; la conversion au 2 c'est juste
range->
xrange):
# On fait notre tableau de hasard import random hasard = [round(random.random()) for i in range(1000)] # On itère maxCompte = 0 maxDebut = 0 compte = 0 debut = 0 for i, v in enumerate(hasard): if v == 1: if i > 0 and hasard[i-1] != 1: #i>0 sinon on est en dehors du tableau debut = i compte += 1 else: if compte > maxCompte: maxCompte = compte maxDebut = debut compte = 0 print("Debut: ", maxDebut, " Compte: ", maxCompte)
Robin
Très bonne proposition ! Merci beaucoup, ça me sera très utile !