IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Can't assign to operator [Python 3.X]


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Mars 2016
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Can't assign to operator
    Bonjour,
    Je m'excuse par avance car je pense que ma question est relativement triviale. Je suis débutant en python et plus généralement en langage de programmation. J'ai durant toutes mes études esquivé la confrontation avec la programmation mais je fais machine arrière maintenant. C'est quand même trop pratique comme savoir dans l'ingénierie.
    Mon problème est simple, j'essaie d'apprendre la notion d'objet avec python et je fais des exercices simples que l'on peut trouver sur wikibooks.
    Je n'arrive pas à passer outre un problème algébrique entre paramètres d'un objet. Toutes explications seraient les bienvenues
    Voici le code que j'ai écrit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    import math
    import random
    class Domino():
    	"Création de dominos"
    	def __init__(self, faceA = 0 , faceB = 0):
    		self.faceA = random.randint(0,9)
    		self.faceB = random.randint(0,9)
     
    	def affiche_domino(self):
    		print ("Face A= " + str(self.faceA) + " | Face B= " + str(self.faceB))
     
    	def valeur_domino(self):
    		self.faceA + self.faceB = totalFace
    		print (totalFace)
     
    domino1 = Domino()
    domino1.affiche_domino()
    domino1.valeur_domino()
    Voici le message d'erreur que me retourne mon Terminal:
    File "test3.py", line 15
    self.faceA + self.faceB = totalFace
    ^
    SyntaxError: can't assign to operator

    C'est la deuxième fois que je me retrouve confronté à cette erreur. J'ai cherché sur divers forums à trouver une solution mais je pense que je n'oriente pas ma recherche dans le bon sens. En espérant avoir une explication.
    Cordialement,

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Relis ta ligne de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            self.faceA + self.faceB = totalFace
    Quel sens a-t-elle pour toi ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Mars 2016
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par VinsS Voir le message
    Salut,

    Relis ta ligne de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            self.faceA + self.faceB = totalFace
    Quel sens a-t-elle pour toi ?
    Merci de prendre la peine de répondre.
    Voici mon interprétation (qui doit sans doute être fausse):
    Je prends la valeur faceA puis je l'ajoute à la valeur faceB de l'objet que j'ai créé. faceA représente un nombre, faceB aussi donc je ne vois pas pourquoi je ne pourrai pas les ajouter et les mettre dans une autre variable locale. D'ailleurs par exemple si je rajoute un print(self.faceA) je vois bien la valeur aléatoire qui lui a été donnée. (je dois prendre la peine de mettre en commentaire mes lignes erronées pour que le print fonctionne)
    J'ai aussi tenté de créer une 3ème variable globale et de mettre le résultat dedans mais l'erreur reste présente...

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    ... donc c'est totalFace qui est la référence à la somme des faces A et B et non le contraire.

  5. #5
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Mars 2016
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Ok je semble être sur la bonne piste. J'arrive à afficher mon résultat à travers un print comme ci-dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	def valeur_domino(self):
    	# 	self.faceA + self.faceB = totalFace
    	# 	print (totalFace)
    		print (self.faceA+self.faceB)
    Il semblerait que je ne sache pas utiliser les fonctions mathématiques basiques. Je vais investiguer de ce côté là.

  6. #6
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Mars 2016
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par VinsS Voir le message
    ... donc c'est totalFace qui est la référence à la somme des faces A et B et non le contraire.
    Ok merci. J'ai fait le boulet. Effectivement en inversant ça marche mieux. Je sais pas pourquoi je n'ai pas vu le problème!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 20
    Dernier message: 24/06/2011, 23h22
  2. Réponses: 1
    Dernier message: 04/04/2011, 23h16
  3. Variable required. Can't assign to this expression
    Par robert_trudel dans le forum Excel
    Réponses: 5
    Dernier message: 06/02/2009, 19h23
  4. [Connexion MySQL] Can't connect to MySQL server
    Par mat_dum dans le forum Outils
    Réponses: 12
    Dernier message: 17/07/2003, 07h49
  5. C'est quoi "Profile" dans le assign du XMLGram ?
    Par Lux interior dans le forum XMLRAD
    Réponses: 2
    Dernier message: 28/02/2003, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo