Partage
  • Partager sur Facebook
  • Partager sur Twitter

Somme des n premiers entiers

Sujet résolu
27 décembre 2012 à 14:45:16

Bonjour à tous, voila je doit écrire sur python un algo.

Le sujet:
Ecrire une suite d'instruction qui saisit un entier n1 et qui calcule la somme 1+2++n
Voilà je debute en python, je dois ecrire tous mes algos de mathématique en langage python, sauf que j'ai fait pour cet algo mais je ne vois pas mon erreur.

La réponse:
s=0
n=int(input("Valeur de n"))
For i in range (1, n+1)
s=s+i
print("La somme est: ", s)


Lorsque je le lance sur python, il ne marche pas si quelqu'un pouvait m'aidé.

Bonne journée à tous, a+
  • Partager sur Facebook
  • Partager sur Twitter
27 décembre 2012 à 15:31:19

Tout d'abord, utilise la balise de code pour afficher ton programme Python.

Ensuite, la syntaxe d'une boucle for est la suivante : for en minuscule, deux point à la fin de la ligne, pas d'espace entre range et la parenthèse ouvrante et enfin le code à l'intérieur de la boucle doit être indenté (4 espaces, pas de tabulation).
for i in range(1, n+1):
    # Ton code ici
  • Partager sur Facebook
  • Partager sur Twitter
27 décembre 2012 à 15:35:54

Merci beaucoup.Jvais voir çà.
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
27 décembre 2012 à 16:13:29

Citation : gwendo53100

je ne vois pas mon erreur.



L'erreur, c'est la boucle. La somme des nombres de 1 à n, c'est tout simplement <math>\(\frac{n(n + 1)}{2}\)</math>. Pas besoin de boucle.
  • Partager sur Facebook
  • Partager sur Twitter
28 décembre 2012 à 10:43:43

somme=0
p=input("Entrez un entier p:")
for i in range (1, p+1):
    somme=somme+i
print("La somme des"),p,("premier entiers naturels est égale à"),somme


Voici mon algo finale, mais sur python il ne marche pas je ne vois pas mes erreurs

J'ai aussi un autre probleme pour un autre algo. L'utilisateur doit saisir 2entiers n et p, puis qui fournit les carrés successifs de n jusqu'au p-ieme carré obtenu.


n=input("Entrez un entier naturel")
p=input("Combien de fois voulez vous effectuer des carrés sucessifs?")

for i in range (1,p+1):
    n=n**2
print("La somme est: ", n)



Si quelqu'un pouvait m'aider çà serait super sympa de votre part. Car çà fait un ptit moment que je bloque, alors que pour moi ils sont bon. J'ai exactement encore un autre probleme dans un algo, et çà bloque tjr apres for i in range (1,p+1):
L'erreur qui ne fallait pas faire

n=int(input("Entrez un entier naturel"))
  • Partager sur Facebook
  • Partager sur Twitter
28 décembre 2012 à 18:19:28

input fournit une chaîne qu'il faut transformer en int, soit en 2 commandes :
p = input("Entrez etc... ")
p = int(p)


Soit en 1 seule
p = int(input("Entrez ... "))

et cette dernière commande fonctionne chez moi (Python 3.2.3).

Dans ton print, il fallait aussi mettre :
print("La somme ... ", p, "premiers...", somme)
i
c'est à dire une seule parenthèse, si tu es en python 3.
Tous mes voeux
  • Partager sur Facebook
  • Partager sur Twitter
28 décembre 2012 à 18:47:39

range est une fonction : la fonction et la parenthèse ouvrante ne doivent pas être séparées par un espace.
range(1, 10)
  • Partager sur Facebook
  • Partager sur Twitter
31 décembre 2012 à 13:20:27

remplacer "sucessif" par "successif", et "La somme" par "le résultat" dans le 2ieme algo.
  • Partager sur Facebook
  • Partager sur Twitter