Premiers termes d'une suite

Marguerite5925 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Bonjour,
je débute avec Python . J'aimerais calculer les premiers termes de cette suite . Quelles sont mes erreurs s'il vous plaît? merci beaucoup
def f(x):
    return x**2-2
    a=1
    b=2
    for n in range(4):
        a=a-f(a)*(b-a)/(f(b)-f(a)) 
    print (a)



PS: l'indentation n'apparaît pas ici... bizarre, comment faire?


EDIT : En utilisant correctement les balises de code... l'indentation apparait.... bizarre... :-)
Utilisation des balises de code : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Configuration: Windows / Chrome 80.0.3987.106

11 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,
en virant le return peut-être
1
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Bonjour à tous

Tu mélanges la définition de la fonction f et le programme proprement dit qui l'utilise
Essaies comme ceci

def f(x):
    return x**2-2

a=1
b=2
for n in range(4):
    a=a-f(a)*(b-a)/(f(b)-f(a)) 
    print (a)

Cdlmnt
1
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Il te suffit de "sortir" print(a) de ta boucle for n in range(101)

Cdlmnt
1
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
print (s(n))

Cdlmnt
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
marguerite5925
 
Ca ne fonctionne toujours pas...
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Que t'affiche ton print ?

Q'uesperes tu obtenir ?
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Si

0
Marguerite5925 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
J'aimerais obtenir les 4 premiers termes de cette suite. c'est juste un exemple, j'aimerais savoir en règle générale comme calculer et obtenir les premiers termes d'une suite à l'aide de Python.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Tu ne m'as toujours pas indiqué ce que t'affichait ton print
0
Marguerite5925 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
il devrait afficher les premiers termes de cette suite définie par récurrence: f(a)=(2+2a)/(2+a)
4/3, etc...
0
Marguerite5925 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
super ça fonctionne, un grand merci!!
0
Marguerite5925 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour, autre question: et si maintenant j'aimerais afficher uniquement le terme d'indice 100 de cette suite. faut-il remplacer "for n in range(4):" par "for n in range(100, 101):" ?
ça ne fonctionne pas...ça m'affiche uniquement le 1er terme...
merci
0
Marguerite5925 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup!
0
Marguerite5925 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
autre question: j'aimerais après avoir défini une fonction ,la calculer pour une certaine valeur.
Par exemple j'ai défini ici la somme de n entiers, et j'aimerais ensuite donner le résultat pour n=10 (somme des entiers de 1 à 10).
Apparemment il y a une erreur au niveau de "n=10 print(s)"... laquelle? merci
def s(n):
    s=0
    for i in range (1,n+1):
        s=s+i
    return (s)
    
n=10
print (s)

0