Aller au contenu

Messages recommandés

  • E-Bahut
Posté(e)

OUI, à toi de le remplir en faisant tourner la fonction pyramide(2), puis pyramide(3) et ainsi de suite pour conjecturer et ensuite démontrer. Ce sujet est déjà passé sur ce forum, fouine un peu et tu trouveras toutes les réponses. C'est plus pénible avec les pièces jointes, mais ce sujet a été traité il y a quelques semaines.

  • E-Bahut
Posté(e)

Bonjour,

Maintenant que tu es une "pro" de Python 😀, saisir le script et le faire "tourner" est pour toi un jeu d'enfant. Dis nous ce que tu as trouvé, si tu veux que l'on vérifie tes résultats...

 

  Citation

Est ce que dans le tableau le D correspond 

Expand  

Pas vu de D dans le tableau..... même en grossissant le tableau 🧐

 

image.thumb.png.0e2a494742f892f8abee1c13cdfb2210.png

  • E-Bahut
Posté(e)

Fais nous un copié/collé de ton script (place le dans ton message entre entre les balises codes <>)

et surtout enlève le "s" à maths 🤓

  • E-Bahut
Posté(e)

Tu te souviens que la fonction effectue un calcul et mémorise le résultat (ou des éléments) de ce calcul quand on exécute cette fonction. Cependant (et cela est très déroutant au début), le (ou les) résultats produits par la fonction ne sont pas affichés... tant qu'un programme ne sollicite pas l'affichage !!

Il suffit de compléter la définition de la fonction en créant un rudimentaire programme demandant l'affichage de la valeur... retournée .

exple :

          print(pyramide(10))

(on peut aussi demander cet affichage directement dans la console).

  • E-Bahut
Posté(e)

"au cours de l'exécution de l'instruction pyramide(3)" dit l'énoncé.

Si tu exécutes pyramide(3), tu ne vois apparaitre qu'une seule valeur :

image.png.4c0462fb6d9f03b4b8843be637306fa8.png

Tu peux bien sûr remplir ton tableau, sans faire tourner ton script dès lors que tu as identifié les variables... je pense que c'est ce qu'attend le concepteur de cet exercice.

Toutefois, on peut adapter un peu le script pour faire AFFICHER les valeurs de i, de a et de S à chaque "tour de boucle". Vois tu comment faire (c'est très simple) ?

  • E-Bahut
Posté(e)

Non, a priori, c'est le nombre d'allumettes supplémentaires qu'il faut utiliser pour créer un nouvel étage. Mais cela représente effectivement aussi le nombre d’allumettes du premier étage.

Posté(e)

Donc, il est correct 

Ensuite , pour la question 2 j'ai commencé à remplir:
def nb_etages(N):
    n=2
    while pyramide(n)<N:
        n=n+1
    if pytamide(n)==N:
        return n-1
    else:
        return
    
        

  • E-Bahut
Posté(e)

Un détail, petite faute de frappe,

if pytramide(n)==N:

mais ce n'est pas n-1 qu'il faut retourner ici.

En fait, on envisage les deux cas

* si N correspond au nombre exact d'allumettes qu'il faut pour créer une pyramide de n étages :

vu que la condition est

while pyramide(n)<N

cette condition n'est vérifiée qu'au tour suivant de n=n+1, donc pour la bonne valeur de n

il faut donc retourner n.

On pourrait utiliser pyramide(n)<=N, mais cela peut poser un problème suivant la façon dont on gère la partie "allumettes restantes". Je te laisse essayer quand tu auras conçu le script complet.

* si N est supérieur au nombre exact d'allumettes qu'il faut pour créer une pyramide de n étages :

la condition n'est toujours vérifiée qu'au tour suivant, mais avec n=n+1, on dépasse le bon nombre d'étages, et c'est là qu'il faut retourner n-1.

 

 

 

  • E-Bahut
Posté(e)

Oui, maintenant à toi de voir comment tu veux gérer cela dans l'optique de l'énoncé. Mais, pour commencer teste déjà ce script avec différentes valeurs, du genre 55, 57, 105, 135, etc..

  • E-Bahut
Posté(e)

On va te retourner ta question 🤔.

1) Sur ton écran, dans la partie "éditeur", qu'est ce qu'il y a d'écrit ? un copié/collé COMPLET de ton script serait le bienvenu, pour qu'on en juge.

2) Ensuite, il faut que tu comprennes bien -si tu ne l'as pas encore réalisé- que pour tester une fonction (ou un ensemble de fonctions), il y a 2 possibilités au moins :

     a) soit tu exécutes la fonction dans la console en saisissant par exemple : nb_etages(105) et en validant. Tu peux ensuite exécuter cette fonction autant de fois que tu le souhaites en changeant toujours dans la console, l'argument de la fonction.... la commande devient par exemples nb_etages(59), nb_etages(1085) etc.

     b) soit tu crées un mini programme qui appelle et lance l'exécution de la fonction.... Dans l'éditeur, il te suffit d'écrire sous le script définissant la (ou les) fonction(s), une ligne de programme telle que par exemple print(nb_etages(105)) ; puis tu lances le programme... qui va afficher la valeur de nb_etages(105)... dans la console. L'intérêt de cette deuxième méthode est que tu peux améliorer, développer ce programme minimaliste ! Mais c'est une autre histoire.

  • E-Bahut
Posté(e)

Il faut que tu apprennes à décoder les messages d'erreur !

pyramide n'est pas défini.

Il faut laisser en tête le def correspondant, celui que tu as écrit au départ.

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...
spam filtering
spam filtering