Programme en python

Baarbara12345 Messages postés 1 Statut Membre -  
_Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je suis en L1 Maths et je suis des cours d'introduction à la programmation et je dois dire que je galère pas mal avec les fonctions. J'ai vraiment du mal à comprendre leur fonctionnement. Dans mon TP8, j'ai l'exercice suivant:



Et j'ai écrit ce programme:


Quelqu'un peut-il m'aider ? Je bloque depuis 3 jours sur les 2 dernières fonctions, je n'ai vraiment aucune idée comment faire.. Et il est demandé d'afficher le nombre de "ci" mais quelle fonction faut-il que j'utilise ? Car la fonction "len" est réservé aux listes mais la ce n'est pas une liste?

1 réponse

  1. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 135
     
    Bonjour,

    La fonction affiche_car() doit retourner le nombre de caractères C1 affichés.
    Or la tienne retourne 1 ou 2 : ce n'est pas bon !

    Ta fonction affiche_ligne() initialise i à 1 et j à N : c'est inexacte car i et j sont passés en paramètres doncdéjà initialisés!
    De plus, cette fonction doit faire appel à la fonction affiche_car() et je n'en vois pas l'appel.
    Quand cette fonction va traiter le dernier caractère, elle doit faire un retour à la ligne dans l'affichage (rappel: \n) et retourner le nombre de fois où le caractère C1 a été affiché sur la ligne. Elle doit donc retourner i puisque c'est le nombre de fois où le caractère C1 est affiché !

    La dernière fonction affiche_carré() doit demander l'affichage de N lignes composées de caractères C1 et C2. Elle doit donc appeler N fois la fonction affiche_ligne(). Or la tienne ne fait qu'un seul appel.
    Avant chaque appel de la fonction affiche_ligne(), tu dois calculer i et j.
    Voici une piste:
    - appel n°1 : i=1 et j=N-1
    - appel n°2 : i=2 et j=N-2
    - appel n°3 : i=3 et j=N-3

    A toi de programmer et de revenir ici nous proposer ta solution

    Ritchi
    0