[Python] Besoin d'aide listes/tableaux

Bonjour,
Mon prof d'algo m'a laissé moi et ma classe (BTS SIO) avec un DM de Python à rendre pour la rentrée, le truc c'est que ça semble faire appelle à des tableaux/listes, ce qu'on a pas encore vu (1er année, 1h par semaine) :/
Et au premier coup d'oeil, Google semble pas vouloir trop m'aider; que de explications basiques, aucuns exemples, rien :<

Quelqu'un pour m'expliquer ?

Voilà le sujet;
http://www.france-ioi.org/algo/task.php?idChapter=656&idTask=0&sTab=task&iOrder=0

[Python] Besoin d'aide listes/tableaux
Poster un commentaire
Nell
Nell
7 ans

Peut pas répondre à moi même: http://pastebin.com/FpT0jWFY

Loupiote
Loupiote
7 ans

@Nell: super explication

Kaazhan
Kaazhan
7 ans
Nell
Nell
7 ans

Ok, je vais te faire un petit pastbin explicatif. Je travail principalement avec python 3, à toi d'adapter. (je posterais en réponse à ce com)

bzerath
bzerath
7 ans

Mec, jte comprends pas là :/
http://lmgtfy.com/?q=python+listes

Par contre j'ai galéré à comprendre le sujet :3 mais il est sympa, tu sais comment tu vas le résoudre ?

Weezm
Weezm
7 ans

@bzerath: Pour le moment sans savoir exactement comment marche les listes mais avec deux-trois notions (on aborde à peine en C avec un aut' prof), j'ai pondu ça (qui forcement fonctionne pas);
http://pastebin.com/CnPEmV9T

bzerath
bzerath
7 ans

@Weezm: Alors déjà tu peux virer tous les ; en fin de lignes, c'est useless en python :)

Tu as besoin, dans un premier temps, du nombre de livres et du nombre de jours. Ca c'est ok tu l'as bien fait, mais utilise raw_input plutôt.
D'emblée, il faut une liste qui donne pour chaque livre, son état "empreinté" ou non. Pour faire simple : 0=libre, sinon on entre le nombre de jours restants avant qu'il soit rendu. Il te faudra donc une liste de taille <NbLivres>.

Pour l'instant, on a donc :
NbLivres=int(raw_input("Nombres de livresn"))
NbJours=int(raw_input("Nombres de jours :n"))
Empreintable = [0]*NbLivres

Au niveau de l'algo, je te propose :

Pour jour compris entre 0 et NbJours (non inclus) : #Tourne à l'infini tant qu'on le kill pas
#réduire de 1 jour le délai de chaque livre
Pour chaque livre dans Empreintable:
Si son délai est > 0:
délai = délai -1
#Demander le nombre de clients
? -> NbClients
Pour chaque client dans NbClient:
#Demander sur une ligne le numéro de livre et la durée d'empreint demandé
? -> Num, Dur #Il y a marqué dans la consigne que ça doit prendre 1 ligne, intéresse toi à la fonction split()
Si Empreintable[Num] > 0: #Livre déjà empreinté
Print (0)
continuer au client suivant (s'il y en a un)
Sinon:
Emprintable[Num] = Dur
Print (1)
continuer au client suivant (s'il y en a un)

MrPi
MrPi
7 ans

Bonjour,
Je ne sais pas si tu en as encore besoin mais voici une façon de faire.
https://goo.gl/S1uRIv
Bonne soirée ;)

Cette page est réservée aux ADULTES

Tu es sur le point d'accéder à un site web qui contient du matériel explicite (pornographie).

Tu ne dois accéder à ce site que si tu as au moins 18 ans ou si tu as l'âge légal pour visionner ce type de matériel dans ta juridiction locale, l’âge le plus élevé étant retenu. En outre, tu déclares et garantis que tu ne permettras aucun mineur à d'accéder à ce site ou à ces services.


En accédant à ce site, tu acceptes nos conditions d'utilisation.