Écrire un programme qui ... — Les-mathematiques.net The most powerful custom community solution in the world

Écrire un programme qui ...

Modifié (22 Sep) dans Analyse
Titre initial "Écrire un programme qui, étant donné un entier n>=1, calcule et affiche Sn."
[Le titre doit être informatif mais court. Le corps du message est là pour les développements. AD]
Bonjour je m'excuse de vous déranger, mais j'ai un problème pour la question 1)a) de cet exercice, car je dois écrire un programme Python qui, étant donné un entier n>=1, calcule et affiche Sn.
C'est ce que j'ai fait mais quand je rentre mon programme il refuse de fonctionner. Qu'est-ce qui ne va pas dans ce que j'ai fait ?
Merci d'avance pour votre réponse 

Réponses

  • Bonsoir,

    C'est presque illisible. Recopie ton code.

    Cordialement,
    Rescassol

  • Ton programme te le dit : il ne comprend pas la ligne (s=s+i)
    Entre parenthèses, ça ne peut pas être une affectation.
    Si tu enlèves ces parenthèses, ça tournera.
    Bon, j ne bougera pas, mais ça, c'est ton problème.
    e.v.
    À ta naissance, tu pleurais tout le temps et tout le monde souriait autour de toi. Fais en sorte qu'à ta mort, ce soit l'inverse. (Proverbe arabe)
  • Modifié (22 Sep)
    Remplace ta première ligne par
    def S(n):

    afin de définir proprement une fonction.
    Ensuite, le contenu de ta boucle est assez mystérieux...
    Une double boucle serait plus indiquée.
  • Il y a beaucoup d'erreurs.
    Je te conseille de commencer par des exercices plus simples.
    Par exemple calculer $S_n = \Sigma_{i=1}^n \frac {1}{n}$

    Quand tu auras résolu cet exercice et quelques autres du même niveau, tu pourras envisager l'exercice qu'on te demande.

    Là, il y a vraiment trop d'écart entre ce que tu sais faire et ce que tu essaies de faire.
  • dpdp
    Modifié (22 Sep)
    Vue ce que tu as produit, ce n'est pas dit que tu y arrives... Je te donne donc le code de base, à toi de compléter pour les valeurs à trouver.
    def S(n):
        S=0.0
        for i in range(1,n+1):
            for j in range(1,n+1):
                S += [à compléter]
        print(S)
    
    def T(n):
        T=0.0
        for i in range(1,n+1):
            for j in range(1,n+1):
                T += [à compléter]
        print(T)
    
    S(3) # change la valeur pour mettre ce que tu veux
    T(3) # change la valeur pour mettre ce que tu veux
  • D'accord merci, juste Dp, que signifie le ''.0" à la fin de ton instruction ''S=0.0'' ?
  • dpdp
    Modifié (23 Sep)
    C'est pour indiquer qu'il s'agit d'un float, ce que tu peux considérer à ton niveau comme étant un nombre réel. Sans ce .0, tu te retrouves avec des entiers, et tu en conviendras, c'est problématique vu que tu sommes une division.
    Encore que, en python ce n'est pas strictement nécessaire et ici ça fonctionnera même comme ça
    def S(n):
        S=0
        for i in range(1,n+1):
            for j in range(1,n+1):
                S += [à compléter]
        print(S)
    
    def T(n):
        T=0
        for i in range(1,n+1):
            for j in range(1,n+1):
                T += [à compléter]
        print(T)
    
    S(3) # change la valeur pour mettre ce que tu veux
    T(3) # change la valeur pour mettre ce que tu veux
    Cependant, j'aime quand même indiquer qu'on utilise un float à l'aide du ".0", car cela fait partie des bonnes pratiques afin d'avoir un code lisible.
Connectez-vous ou Inscrivez-vous pour répondre.
Success message!