Écrire un programme qui ...

Shadows Asgard
Modifié (September 2022) 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.
    Personne n'a raison contre un enfant qui pleure.


  • JLapin
    Modifié (September 2022)
    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.
    Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends. Benjamin Franklin
  • dp
    dp
    Modifié (September 2022)
    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'' ?
  • dp
    dp
    Modifié (September 2022)
    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.