Premiers termes d'une suite

Fermé
Marguerite5925 Messages postés 8 Date d'inscription jeudi 20 février 2020 Statut Membre Dernière intervention 22 février 2020 - Modifié le 20 févr. 2020 à 14:28
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 - 22 févr. 2020 à 15:54
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 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 718
20 févr. 2020 à 14:29
Bonjour,
en virant le return peut-être
1
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
20 févr. 2020 à 19:02
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 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
Modifié le 21 févr. 2020 à 21:33
Il te suffit de "sortir" print(a) de ta boucle for n in range(101)

Cdlmnt
1
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
22 févr. 2020 à 15:54
print (s(n))

Cdlmnt
1

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

Posez votre question
marguerite5925
20 févr. 2020 à 16:11
Ca ne fonctionne toujours pas...
0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 718
Modifié le 20 févr. 2020 à 16:16
Que t'affiche ton print ?

Q'uesperes tu obtenir ?
0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
20 févr. 2020 à 20:05
Si

0
Marguerite5925 Messages postés 8 Date d'inscription jeudi 20 février 2020 Statut Membre Dernière intervention 22 février 2020
Modifié le 20 févr. 2020 à 18:55
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 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 718
20 févr. 2020 à 18:51
Tu ne m'as toujours pas indiqué ce que t'affichait ton print
0
Marguerite5925 Messages postés 8 Date d'inscription jeudi 20 février 2020 Statut Membre Dernière intervention 22 février 2020
20 févr. 2020 à 18:58
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 jeudi 20 février 2020 Statut Membre Dernière intervention 22 février 2020
20 févr. 2020 à 19:15
super ça fonctionne, un grand merci!!
0
Marguerite5925 Messages postés 8 Date d'inscription jeudi 20 février 2020 Statut Membre Dernière intervention 22 février 2020
21 févr. 2020 à 21:17
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 jeudi 20 février 2020 Statut Membre Dernière intervention 22 février 2020
21 févr. 2020 à 21:58
Merci beaucoup!
0
Marguerite5925 Messages postés 8 Date d'inscription jeudi 20 février 2020 Statut Membre Dernière intervention 22 février 2020
Modifié le 22 févr. 2020 à 13:44
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