A voir également:
- Exercice python lycée
- Citizen code python avis - Accueil - Outils
- Python pix ✓ - Forum Python
- Mot secret python pix ✓ - Forum Python
- Programme python ✓ - Forum Python
- Mot de passe administrateur pc lycée île de france - Forum Matériel & Système
3 réponses
Bonsoir
CCM, comme tous les sites de code qui se respectent disposent d'un outils pour mettre en forme le code (et donc conserver l'indentation), voir le texte et le lien (à lire attentivement) que jee pee a ajouté à la fin de ton message en le corrigeant.
Pour ton problème, selon ton énoncé M est un entier, tu ne peux donc ni récupérer sa longueur, ni l'indicer.
CCM, comme tous les sites de code qui se respectent disposent d'un outils pour mettre en forme le code (et donc conserver l'indentation), voir le texte et le lien (à lire attentivement) que jee pee a ajouté à la fin de ton message en le corrigeant.
Pour ton problème, selon ton énoncé M est un entier, tu ne peux donc ni récupérer sa longueur, ni l'indicer.
j'avais juste inversé N et M
Oui c'était le premier point et comme jee pee, je ne suis pas sûr de comprendre l'énoncé.
Sa question est pertinente, pour voir si nous comprenons comme toi.
Si ton prof t'as donné des précisions ou un jeu de données de correction (valeurs d'entrées et résultat associé) se serait bien de nous les communiquer.
Ok, j'avais essayé de rajouter une variable amismax qui stockerai du coup la valeur amis du tour de la boucle où il serait le plus haut , ce n'est pas la bonne solution ?
Je t'avoue que je suis un peu confus (je n'ai pas beaucoup d'experience en python je debute),la solution est à ma portée tu penses ?
Ou plutôt est-ce que je suis loin du bon résultat ?
Je t'avoue que je suis un peu confus (je n'ai pas beaucoup d'experience en python je debute),la solution est à ma portée tu penses ?
Ou plutôt est-ce que je suis loin du bon résultat ?
Tu es à une marche du bon résultat.
L’écriture d'un programme c'est une idée d'un processus (la tienne tient la route). Après cela ne fonctionne pas du premier coup, on attend une étincelle d'intelligence, ou le lendemain, ou on s'attelle à un travail de fond, le debug. Je suis toujours surpris dans les codes que l'on nous donne sur le forum de ne pas voir de print() pour comprendre ce qui se passe. On doit parfois en mettre après chaque ligne, pour voir où le programme passe et ce que contient chaque variable touchée.
Voilà ton code, qui pour l'exemple donné retourne 15. En une seule modification, mineure sur la forme, majeure sur la logique, il donne le 3 attendu. J'ai rajouté un print pour que tu t'interroges sur l'évolution des compteurs.
L’écriture d'un programme c'est une idée d'un processus (la tienne tient la route). Après cela ne fonctionne pas du premier coup, on attend une étincelle d'intelligence, ou le lendemain, ou on s'attelle à un travail de fond, le debug. Je suis toujours surpris dans les codes que l'on nous donne sur le forum de ne pas voir de print() pour comprendre ce qui se passe. On doit parfois en mettre après chaque ligne, pour voir où le programme passe et ce que contient chaque variable touchée.
Voilà ton code, qui pour l'exemple donné retourne 15. En une seule modification, mineure sur la forme, majeure sur la logique, il donne le 3 attendu. J'ai rajouté un print pour que tu t'interroges sur l'évolution des compteurs.
def manhathanMaboul(M,N): amismax=0 amis=0 for i in range (len(N)): for k in range (len(N)): if N[i]<=N[k]<=(N[i]+M): amis=amis+1 print(i,k,N[i],N[k],N[i]+M,"compteurs", amis, amismax) if amis>amismax: amismax=amis print("Résultat",M,N," = ",amismax) return amismax manhathanMaboul(5, [3,11,1,7,6,12])
On dirait que la réalisation ne respecte déjà pas l'énoncé, intervertissant M et N.
Franchement j'ai peu d'idée sur la solution ;-)
Après Yamine, pour que tout le monde soit d'accord sur l'énoncé, et sa solution, quelles réponses apporterais-tu à ces paramètres passés :