Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1827 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  (Python) Sous séquence contigues

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

(Python) Sous séquence contigues

n°2158186
plard
Posté le 26-09-2012 à 02:20:55  profilanswer
 

Bonjour,
 
je dois écrire un script Python qui, à l'aide des fonction Liste, boucle for et itérateur range(), et à partir d'une liste non trié d'entiers qu’un utilisateur du programme fournira, affiche la somme maximale d’une sous séquence contiguë présente dans la liste. De plus, je dois retourner les indices du début et de la fin de la sous séquence dans la liste. Les éléments de la liste peuvent être positifs ou négatifs. Par exemple si la liste contient les éléments suivants : 11, 13, -4, 3, -26, 7, -13, 25, -2, 17, 5, -8, 1
La sous séquence 3, -26, 7, -13, 25 a pour somme -4, par contre, la sous séquence de somme maximale est 25, -2, 17, 5 (de somme 45). Votre script devra afficher par conséquence : 45 7 10.
 
J'aimerais si possible que quelqu'un m'éclair sur ce problème car c'est la folie je ne sais pas par ou commencer.
Merci d'avance.

mood
Publicité
Posté le 26-09-2012 à 02:20:55  profilanswer
 

n°2158433
plard
Posté le 27-09-2012 à 21:28:24  profilanswer
 

J'ai cogiter un peu et je pensais commencer comme ça, pour l'utilisateur:
while True:
print("\n\nEntrez votre séquence séparée par une virgule\n" )
try:
lst = list(eval(input()))
except NameError:
print("Vous n'avez pas entré des nombres entiers" )
continue
except SyntaxError: # oui on peut prévoir un autre except, autant qu'on aura besoin
print("Vous n'avez pas respecté le format: des nombres séparés par des virgules!" )
continue
break
 
print(lst)
ensuite c'est de calculer ses sous-séquences et c'est ce qui me bloque. Personellement j'ai trouvé qu'il y avait en tout N + (N+1) + (N+2) ... +1 sous-liste. Soit N (N+1)/2. Est-ce que il y a moyen de jouer avec ça ?
 
Merci encore.

n°2158713
masklinn
í dag viðrar vel til loftárása
Posté le 01-10-2012 à 14:58:43  profilanswer
 

plard a écrit :

ensuite c'est de calculer ses sous-séquences et c'est ce qui me bloque.


C'est con, vu que c'est exactement le but de ton exercice :/

 

T'as songé à regarder du côté des combinaisons (mathématiques)? Après tout ton but est d'extraires le sous-ensembles des combinaisons continues de la liste (pas besoin des combinaisons avec des trous), de calculer leurs sommes et de regarder laquelle est la plus grande. Donc la première étape me semblerait être énumérer ces combinaisons

 

Accessoirement, aucune raison d'utiliser eval pour un truc pareil.


Message édité par masklinn le 01-10-2012 à 15:03:43

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  (Python) Sous séquence contigues

 

Sujets relatifs
python, regex, unicode [résolu]Python numpy ecriture résultat avec itération
Tableau python vers array php ?bonjour, problème synthax python sous idle
[python] : trier une liste sur deux criètes (histoire de ".")Traitement de fichier avec python !
[PYTHON] Action sur les variablesSalut Python
[python] plante avec raw_input!Python débutant separateur
Plus de sujets relatifs à : (Python) Sous séquence contigues


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)