Python
Bonjour
Je débute avec Python et j'aimerais avoir de l'aide.
Pourquoi ce programme ne fonctionne pas. Le compilateur dit erreur ligne 13 X:-(
[Python sans indentation, c'est de la bouillie sans signification. AD]
Je débute avec Python et j'aimerais avoir de l'aide.
Pourquoi ce programme ne fonctionne pas. Le compilateur dit erreur ligne 13 X:-(
ch = input('Saisir le 1er terme a de la suite u : ') a =int(ch) ch2 = input('Saisir le 1er terme b de la suite v : ') b =int(ch2) ch3 = input('Saisir un entier naturel non nul N : ') N =int(ch3) u=a v=b n=0 while n<N: n = n+1 u=(3*a+b)/4 v=(2*a+3*b)/5 print("u=",u) print("v=",v)
[Python sans indentation, c'est de la bouillie sans signification. AD]
Réponses
-
Ton code est vraiment écrit comme ça même avec la balise code ?Algebraic symbols are used when you do not know what you are talking about.
-- Schnoebelen, Philippe -
Bonjour,
Il faut écrire:ch = input('Saisir le 1er terme a de la suite u : ') a =int(ch) ch2 = input('Saisir le 1er terme b de la suite v : ') b =int(ch2) ch3 = input('Saisir un entier naturel non nul N : ') N =int(ch3) u=a v=b n=0 while n<N: n = n+1 u=(3*a+b)/4 v=(2*a+3*b)/5 print("u=",u) print("v=",v)
Quand on fait du Python, le maître mot est: INDENTATION !!!!
Je le répète $50000$ fois par cours.
Cordialement,
Rescassol -
Bonjour Nicolas et Rescassol.
Merci Rescassol,
Mais ce que je voudrais c'est qu'il m'affiche tous les termes du rang 1 à N pour les deux suites u et v. Ici en testant, il ne m'affiche que u1 et v1. Où est l'erreur ? je me dis qu'il faut peut être utiliser un while.
Amicalement -
il ne m'affiche que u1 et v1. Où est l'erreur ?
... u=(3*a+b)/4 v=(2*a+3*b)/5 ...
Vu que a et b ne changent pas .... -
Bonjour,
ch = input('Saisir le 1er terme a de la suite u : ') a =int(ch) ch2 = input('Saisir le 1er terme b de la suite v : ') b =int(ch2) ch3 = input('Saisir un entier naturel non nul N : ') N =int(ch3) u, v, n = a , b, 0 for n in range(1,N): u, v=(3*u+v)/4, (2*u+3*v)/5 print('u=',u) print('v=',v) print()
Cordialement,
Rescassol -
Remarques :
- il est inutile de définir la variable n avant de l'utiliser dans une boucle ;
- dans range(1,N), la variable n va de 1 à N-1 ; il y a donc N-1 itérations et on aboutit à u(N-1) et pas u(N) – c'est peut-être délibéré mais ce n'était pas le cas pour la boucle initiale de Bouzar.
for _ in range(N): u, v=(3*u+v)/4, (2*u+3*v)/5 print('u=',u) print('v=',v) print()
-
Bonjour à tous,
C'est bon cela fonctionne. Merci de pour l'aide. -
Le zéro dans range(0,N) est inutile. Pour Python, range(N) est la liste des N premiers entiers [0,1,...,N-1].
-
Bonsoir Math Coss
Merci pour l'information.
Amicalement
Connectez-vous ou Inscrivez-vous pour répondre.
Bonjour!
Catégories
- 163.1K Toutes les catégories
- 8 Collège/Lycée
- 21.9K Algèbre
- 37.1K Analyse
- 6.2K Arithmétique
- 53 Catégories et structures
- 1K Combinatoire et Graphes
- 11 Sciences des données
- 5K Concours et Examens
- 11 CultureMath
- 47 Enseignement à distance
- 2.9K Fondements et Logique
- 10.3K Géométrie
- 62 Géométrie différentielle
- 1.1K Histoire des Mathématiques
- 68 Informatique théorique
- 3.8K LaTeX
- 39K Les-mathématiques
- 3.5K Livres, articles, revues, (...)
- 2.7K Logiciels pour les mathématiques
- 24 Mathématiques et finance
- 312 Mathématiques et Physique
- 4.9K Mathématiques et Société
- 3.3K Pédagogie, enseignement, orientation
- 10K Probabilités, théorie de la mesure
- 772 Shtam
- 4.2K Statistiques
- 3.7K Topologie
- 1.4K Vie du Forum et de ses membres