Bonjour,
je dois faire un exercice sous python
On me demande de programmer une fonction d'argument n qui retourne la valeur de la variable S l'algorithme précédent
(S 0
(pour i variant de 1 à n
IS S+i
Fin Pour)
En déduire la somme des 1000 premiers entiers naturels non nuls.
Alors là c'est la galère totale
j'ai commencé à faire :
def argument(n):
S=0
I=0
for i in range(1,1001):
S=n(n+1)/2
return(S)
print(argument(n))
mais pas bon et je ne sais pas ou (ou sont) est ma erreur
MERCI
Bonjour,
parce que ça ça n'a rien à voir avec une traduction "mot à mot" de l'algorithme donné !
si tu utilises une formule pour calculer directement le resultat final, il n'y a vraiment aucun besoin de faire une boucle !!
"argument" n'est pas un mot clé réservé de Python mais un qualificatif ordinaire de la doc pour parler des ... arguments d'une fonction
on peut donc parfaitement appeler une fonction du nom "argument" pourquoi pas ..
(mais c'est un peu sot quand ça n'a rien à voir avec le rôle de cette fonction : calculer une somme d'entiers)
Bonjour,
hier j'ai passé pas mal de temps sur python. Je suis arrivée à un résultat bon, voilà ce que j'ai fait :
def entier():
S=0
for i in range(1,1001):
S= S+i
return(S)
print(entier())
qu'en pensez-vous ?
Merci de votre aide
là, ça marche.
mais on te demande "une fonction d'argument n"
c'est à dire que n doit être un paramètre d'entrée de cette fonction
def entier(n) :
... etc
et
print(entier(1000)) pour calculer S1000
mais ce qui permettrait de l'utiliser pour calculer Sn avec n quelconque et pas seulement 1000
Bonjour,
Merci beaucoup pour votre réponse.
Je viens de regarder sur le site python et ça va
merci j'ai un peu mieux compris mais sans manipulation ce n'est pas évident
MERCI BEAUCOUP
"sans manipulation ce n'est pas évident "
pour programmer en Python , et surtout s'assurer de la validité de ce qu'on écrit, il est quasiment indispensable d'installer Python sur son ordi (ou d'utiliser un Python en ligne sur Internet)
et bien sûr de lire soigneusement l'énoncé
écrire une fonction etc
(tester cette fonction avec différentes valeurs de n, dont le résultat est connu)
puis
en déduire ...
c'est à dire ensuite l'utiliser avec n valant 1000
Re,
oui c'est sûr, au lycée aucune manipulation. Ma mamy a installé PYTHON sur son ordi pour que je puisse y travailler.
MERCI BEAUCOUP POUR VOTRE AIDE PRECIEUSE
deux remarques:
1/ donner un nom de fonction explicite, ici entier n'est pas tres parlant
2/ ton print est superflu
3/ je te conseille de choisir EduPython
le print est nécessaire si on met l'appel de la fonction dans le module lui même
il est superflu si on appelle la fonction "en ligne de commande"
Merci à Alb12 et Mathafou
je n'ai pas tout compris
j'ai mis le print pour avoir le résultat (pour vérifier mon travail)
Mathafou :"le print est nécessaire si on met l'appel de la fonction dans le module lui même
il est superflu si on appelle la fonction "en ligne de commande"
je ne comprend pas ce que tu veux dire.
Merci pour m'expliquer.
dans un environnement graphique de développement Python (par exemple EduPython comme recommandé par alb11), appelé de façon générale un IDE (Integrated Development Environment) l'écran ressemble à ça :
dans le programme lui même un appel entier(5) ne fait que calculer la somme de 1 à 5 et ne fait rien de cette somme
print(entier(10)) calcule la somme de 1 à10 et l'affiche immédiatement (dans la console) dès qu'on lance le programme
comme le montre la valeur 55 qui apparait dès que le programme est lancé
on peut alors taper dans la console des commandes comme entier(1000)
et là il n'y a pas besoin de print car il affiche directement le résultat du calcul demandé quel qu'il soit
par exemple si on tape 4+3 [Entrée] il affiche 7 directement
si on tape entier(1000) il affiche la somme S1000
et on peut faire ainsi dans la console autant d'appels à entier(n) que l'on veut sans avoir à modifier le programme lui-même (sans avoir à modifier la ligne print(entier(..)) qui s'y trouve)
Re,
merci beaucoup pour cette explication qui m'a bien aidé à comprendre un peu mieux.
Merci encore.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :