Phyton et algorithmes 1ere

Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
Youyou1617
Membre Naturel
Messages: 40
Enregistré le: 09 Sep 2019, 17:17

phyton et algorithmes 1ere

par Youyou1617 » 30 Sep 2019, 20:54

bonjour,
je dois traduire l'algorithme de exercice suivant en langage python mais en modifiant l'algorithme comme demandé à la question 3).
Image
Voici le programme auquel j'ai pu aboutir mais lorsque je l'éxcute, le résultat "None" s'affiche dans ma console.
Image
que faut-il rectifier dans mon programme ?
Merci beaucoup de votre aide



Youyou1617
Membre Naturel
Messages: 40
Enregistré le: 09 Sep 2019, 17:17

Re: phyton et algorithmes 1ere

par Youyou1617 » 30 Sep 2019, 20:59

excusez moi les images ne s'affichent pas, les voici:
(l'exercice): Image

(mon programme): Image

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

Re: phyton et algorithmes 1ere

par fatal_error » 30 Sep 2019, 21:08

slt,

1) ta fonction f doit retourner un nombre, il te faut donc un return.
2) généralement, tu écris print('jemetsmonstring', f(a)) qui te permet de savoir au moins si ton code est exécuté
3) le code que tu as écrit est faux. principalement, tu n'incrémentes pas a, tu donnes à f un booléen au lieu de comparer f(a) à 0,
4) tu importes math pour rien, tu converties un string en string (pourquoi...)
la vie est une fête :)

Youyou1617
Membre Naturel
Messages: 40
Enregistré le: 09 Sep 2019, 17:17

Re: phyton et algorithmes 1ere

par Youyou1617 » 30 Sep 2019, 22:52

bonsoir,
en suivant vos instructions j'arrive au programme suivant:
Image
quand je l’exécute le message d’erreur suivant s'affiche: SyntaxError: unexpected EOF while parsing sur la ligne 8.
Pourriez-vous s'il vous plaît réexpliquer votre instruction 3) ?

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

Re: phyton et algorithmes 1ere

par fatal_error » 01 Oct 2019, 11:13

vire ta ligne x=str tu vois bien qu'elle ne sert à rien!
ton return devrait être sur la même ligne que x*x-x-1
la condition dans ton while, c'est n'importe quoi, regarde comment écrire une boucle while
calucl tu t'en sers pas, soit tu le vires soit faut que t'en fasses quelquechose
ton print, il manque une virgule, le parenthèsage est pas bon

je pense que principalement tu as pas compris l'algorithme de ton livre.
si tu dois l'appliquer à la main, que fais tu?
la vie est une fête :)

Youyou1617
Membre Naturel
Messages: 40
Enregistré le: 09 Sep 2019, 17:17

Re: phyton et algorithmes 1ere

par Youyou1617 » 01 Oct 2019, 20:12

l'algorithme de la question 3 traduit à l'écrit donnerait ça
a=-1
tant que f(a)>0 ajouter 0.01 à a puis et arrêter lorsque f(a) =0.
Donner les valeurs de a.

Ma ligne str permet de définir l'encadrement de x dans lequel je vais trouver la racine négative avec la précision permise par le graphique
pour écrire une boucle while il faut faire une indentation à chaque début de commandes qui entre dans la condition, c'est bien ca ?
Merci

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

Re: phyton et algorithmes 1ere

par fatal_error » 01 Oct 2019, 20:44

ce que j'appèle comment tu t'y prendrais à la main c'est:
f(1) = -2
-2 < 0? oui je continue
f(1.1) = -1.7
-1.7 < 0? oui je continue
f(1.2) = -1.5
-1.5 < 0? oui je continue
...
f(4) = 5
5 <0? non: je sors de ma boucle
j'affiche ..

j'ai mis des valeurs fictives je me suis pas embêté à les calculer.
en revanche tu devrais comprendre en procédant de la sorte quelle est la __condition__ que tu dois écrire dans ta boucle while

j'insiste avec l'inutilité de ta ligne str, mais bon, si tu la kiffes ya pas cacastrophe, c'est ton choix :)
la vie est une fête :)

Youyou1617
Membre Naturel
Messages: 40
Enregistré le: 09 Sep 2019, 17:17

Re: phyton et algorithmes 1ere

par Youyou1617 » 01 Oct 2019, 20:48

la condition est la suivante: f(a)<0. comment le traduire en python?

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

Re: phyton et algorithmes 1ere

par fatal_error » 01 Oct 2019, 20:49

en python, tu peux ta condition de la sorte
Code: Tout sélectionner
 f(a)<0

voir le premier lien sur google
https://www.w3schools.com/python/python_while_loops.asp
la vie est une fête :)

Youyou1617
Membre Naturel
Messages: 40
Enregistré le: 09 Sep 2019, 17:17

Re: phyton et algorithmes 1ere

par Youyou1617 » 01 Oct 2019, 20:57

en écrivant while f(a)<0: , le message d'erreur suivant s'affiche: TypeError: unorderable types: NoneType() < int()

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

Re: phyton et algorithmes 1ere

par fatal_error » 01 Oct 2019, 21:01

0 est de type int... (qui signifie integer aka entier)
tu déduis que f(a) est de type NoneType alors que f(a) devrait être de type int
ton problème est alors ce que retourne f(a)

donc tu print ce que vaut f(a)... avant pour comprendre pourquoi ca te retourne pas un entier
la vie est une fête :)

Youyou1617
Membre Naturel
Messages: 40
Enregistré le: 09 Sep 2019, 17:17

Re: phyton et algorithmes 1ere

par Youyou1617 » 01 Oct 2019, 21:10

donc print(f(a)) ?
Comment faire pour print la valeur de f(a) ?
en partant du principe que a=1, je peux calculer f(a) et le remplacer par un entier ?

Youyou1617
Membre Naturel
Messages: 40
Enregistré le: 09 Sep 2019, 17:17

Re: phyton et algorithmes 1ere

par Youyou1617 » 01 Oct 2019, 21:14

a est une variable donc je ne peux pas faire ca, du coup comment print la valeur de f(a) ?

LB2
Habitué(e)
Messages: 1504
Enregistré le: 05 Nov 2017, 16:32

Re: phyton et algorithmes 1ere

par LB2 » 01 Oct 2019, 22:17

Tant que le code de ta fonction f n'est pas corrigé (notamment ce qu'elle retourne) tu auras des erreurs

 

Retourner vers ✎✎ Lycée

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 59 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite