Je viens ici car j'ai vraiment du mal à transcrire des algorithmes simples en langage python.
Par exemple, j'aimerai traduire cet algorithme en python, ou cet algorithme sert à calculer une valeur absolue d'un nombre demandé par l'opérateur.
Citation : d@nz
Algo ValAbs Variables
saisies : Nb : réel #valeur fournie par l'opérateur.
affichées : Va : réel #valeur absolue de Nb.
Début
Afficher ("Donnez le nombre dont vous voulez la valeur absolue")
Saisir (Nb)
Si Nb>=0
Va <- Nb
Sinon
Va <- -Nb
Fsi
Afficher ("La valeur absolue est",Va)
Fin
J'ai essayé de le mettre en langage python, mais impossible, étant donné des erreurs que je n'arrive pas à corriger. Voici mon script :
Citation : d@nz
print ("Donnez une valeur de x svp")
chaine = raw_input()
x = float
if x>0 :
Va=x
print ("La valeur absolue du nombre est", Va)
else:
Va=-x
print ("La valeur absolue est", Va)
Quelqu'un peut t-il m'éclairer, et si possible, traduire mon algorithme en langage python?
Merci d'avance.
Alors déjà mettre ton code python dans les balises python
print ("Donnez une valeur de x svp")
chaine = raw_input()
x = int(chaine) # Ton erreur vient de là
if x>0 :
Va=x # indentation
print ("La valeur absolue du nombre est", Va)
else:
Va=-x
print ("La valeur absolue est", Va)
PEP 3111: raw_input() was renamed to input(). That is, the new input() function reads a line from sys.stdin and returns it with the trailing newline stripped. It raises EOFError if the input is terminated prematurely. To get the old behavior of input(), use eval(input()).
En effet, le problème venait de là. C'est donc input () et non raw_input () pour ma version de Python. Outre ceci, je remercie fred1599, qui m'a expliqué une erreur que je ne savais pas corriger, c'est à dire le : x = int (chaine).
Sinon, avant de finir, j'aurai voulu savoir l'utilité de la 1ere ligne d'encodage. En cours, notre prof nous a dit de mettre -*- coding :Ftp-8 -*- alors que fred1599 parle de -*- coding :cp1252 -*-.
J'aurai voulu savoir à quoi cela correspond et quelle est la différence entre les deux.
Blond, bouclé, toujours le sourire aux lèvres...