Liste injective

Messages : 13

Inscription : 27 févr. 2013 16:45

Profil de l'utilisateur : Élève de lycée

Re: Liste injective

Message par loupi » 10 déc. 2015 16:01

fakbill a écrit :Ghoscred92 : Utilise la balise "code" du forum sinon on ne peut pas lire ton python car l'indentation est perdue.
moi non plus je n'avais pas vu la balise "code" ! j'ai édité mon post, c'est plus propre (mais les tabulations (touche Tab) ne fonctionnent pas en edit, j'ai du mettre des espaces, ça doit marcher seulement en copier /coller)

Messages : 0

Inscription : 01 nov. 2015 12:22

Profil de l'utilisateur : Élève de lycée

Re: Liste injective

Message par Ghoscred92 » 10 déc. 2015 19:08

ok merci à tous ça marche sur python :P !
juste pour être sur, est-ce que au niveau de l'indentation c'est ça ? :

Code : Tout sélectionner

    res = True
    n=len(l)
    i=0
    while (i<n-1 and res==True):
        for j in range(i+1,n):
            if l[i]==l[j]:
                res = False
        i+=1
    return res

Messages : 13

Inscription : 27 févr. 2013 16:45

Profil de l'utilisateur : Élève de lycée

Re: Liste injective

Message par loupi » 10 déc. 2015 19:32

Ghoscred92 a écrit :juste pour être sur, est-ce que au niveau de l'indentation c'est ça ? :
c'est ok, mais il te manque la définition de la fonction.

Messages : 0

Inscription : 01 nov. 2015 12:22

Profil de l'utilisateur : Élève de lycée

Re: Liste injective

Message par Ghoscred92 » 10 déc. 2015 19:44

oui pardon je l'ai oublié
merci beaucoup loupi :wink:

Messages : 0

Inscription : 01 nov. 2015 12:22

Profil de l'utilisateur : Élève de lycée

Re: Liste injective

Message par Ghoscred92 » 10 déc. 2015 19:58

j'aurais besoin encore d'un peu d'aide sur un exo du même type :) :
"écrire un algorithme test_inj(L,M) qui étant donnée une liste L dont les éléments sont tous inférieurs à strictement à M, détermine si elle est injective.

Indication : -créer une liste tab de longueur M dont les éléments sont initialisés à False
-affecter la case tab[l[0]] à True
-examiner la case tab[l[1]] : si elle est égale à True, c'est que L[1]=L[0], sinon c'est que L[1] et L[0] sont bien différents et on affecte alors True à cette case
- examiner la case tab[L[2]] et ainsi de suite"

Messages : 0

Inscription : 01 nov. 2015 12:22

Profil de l'utilisateur : Élève de lycée

Re: Liste injective

Message par Ghoscred92 » 10 déc. 2015 20:01

j'ai cherché et je trouve ça pour l'instant (en langage Python) :

Code : Tout sélectionner

def test2_inj(l,M):
    tab==list
    tab=False
    M=len(tab)
    n=len(l)
    tab[l[0]]==True
    i=0
    while i<M:
        for j in range(i+1,n):
            if tab[l[j]]==True:
                tab[l[j]]=True
            else:
                tab[l[j]]=False
        i+=1
    return table[l[j]]

ce que j'ai est faux car ça ne veut pas tourner sur Python.
je pense que j'ai faux dès le début, je sais pas trop comment faire pour initialiser les éléments de tab à False :(

Messages : 13

Inscription : 27 févr. 2013 16:45

Profil de l'utilisateur : Élève de lycée

Re: Liste injective

Message par loupi » 10 déc. 2015 20:12

Attention dans ton code : == (comparaison) et = (affectation)

Sinon, je trouve que l'énoncé de ton exo est très mal rédigé, on y comprend que dalle ou pas grand chose. Je ne vois pas ce que viens faire M la-dedans tel que posé ?!?

Messages : 9686

Inscription : 30 juil. 2008 16:59

Profil de l'utilisateur : Élève de lycée

Re: Liste injective

Message par fakbill » 11 déc. 2015 01:03

Je ne comprends rien à ton énoncé (façon polie de dire que c'est de la daube).
Tu SAIS initialiser tous les éléments d'une list à false....il suffit par exemple de créer une liste avec le bon nombre d'élément puis de faire une boucle pour mettre les éléments un par un à False (c'est une horreur pour quoi connait un peu python mais c'est mieux que rien).
Tu as un problème avec le concept de boucle. Quand tu as une tâche répétitive à faire comme "mettre tous les éléments à false", tu ne penses pas "boucle"...je ne sais pas pourquoi.
Pas prof.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.

Messages : 9686

Inscription : 30 juil. 2008 16:59

Profil de l'utilisateur : Élève de lycée

Re: Liste injective

Message par fakbill » 11 déc. 2015 01:04

Au fait...pas SUR python mais EN python....python est un *langage*. On écrit EN français ou En python :)
Pas prof.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.

Messages : 13

Inscription : 27 févr. 2013 16:45

Profil de l'utilisateur : Élève de lycée

Re: Liste injective

Message par loupi » 11 déc. 2015 07:13

Essaie d'obtenir un énoncé plus clair même sans aucune indication d'aide, si tu veux arriver à faire quelque chose...
Là, je l'ai encore relu ce matin, c'est imbitable, on ne comprend ni l'objectif, ni le rapport avec les indications données.
Si c'est ton prof qui a fait cet énoncé, aïe, aïe, aïe :roll:
Allez @+, j'ai du taf qui m'attend...

Répondre