Partage
  • Partager sur Facebook
  • Partager sur Twitter

Les erreurs courantes en Python

Évitons de nous répéter

7 février 2019 à 13:39:27

Ça fonctionne avec un autre port ?
  • Partager sur Facebook
  • Partager sur Twitter
8 février 2019 à 0:47:35

j'ai pas compris comment installer l’environnement virtuelle de python avec ces deux commandes avec powershell :

virtualenv -p $env:python3 env

./env/scripts/activate.ps1
sachant que la directory de mon projet est : C:\z python ap
SVP aider moi !!!! et merci !!! 

  • Partager sur Facebook
  • Partager sur Twitter
Jdk for life
8 février 2019 à 19:32:01

Teste ce code :

s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST,1)
  • Partager sur Facebook
  • Partager sur Twitter
8 février 2019 à 20:42:47

ce code n'est pas valide
  • Partager sur Facebook
  • Partager sur Twitter
Jdk for life
11 février 2019 à 15:13:27

Salutation;

j'ai un petit souci avec le module random, je n'arrive pas a importer randrange. Quand je veux compiler mon programme, j'obtiens ce message d'erreur :

Undefined variable 'randrange'

si quelqu'un aurais une solution ce serais genial



-
Edité par ShinZzz 11 février 2019 à 15:20:07

  • Partager sur Facebook
  • Partager sur Twitter

ShinZzz

11 février 2019 à 15:55:23

MohamedElrd a écrit:

Salutation;

j'ai un petit souci avec le module random, je n'arrive pas a importer randrange. Quand je veux compiler mon programme, j'obtiens ce message d'erreur :

Undefined variable 'randrange'

si quelqu'un aurais une solution ce serais genial



-
Edité par MohamedElrd il y a 27 minutes

met:

from random import randrange

ou si tu veux mettre import random met dans ta fonction

ta_variable = random.randrange(Un_nombre,Un_autre_nombre)







  • Partager sur Facebook
  • Partager sur Twitter
13 février 2019 à 18:15:51

Bonjour, je n'arrive pas à trouver comment faire une boucle en python pour cette suite de nombre car l'on doit changer la variable au bout du 2 calcul pourriez vous m'aidez please?                                                                                     66

132

  396

1584                                                   

  • Partager sur Facebook
  • Partager sur Twitter
13 février 2019 à 19:45:43

Il suffit d'incrémenter la variable...

Ou sinon tu peux utiliser la fonction factorial du module math (d'après ce que je comprend de tes 4 nombres...)

  • Partager sur Facebook
  • Partager sur Twitter
14 février 2019 à 10:50:22

Mon petit souci c'est que il faudrais  changer la variable et le résultat car voici l'objectif:                                                66

132

396

1584

6336

le concept est de multiplier le résultat par 2, puis par 3 puis par 4 etc etc à mon niveau je n'arrive que changer l'incrémentation je comprends comment faire 66*2 66*3 66*4 mais pas comment changer en même temps l'incrémentation est la variable dans le même calcul?

  • Partager sur Facebook
  • Partager sur Twitter
14 février 2019 à 11:39:23

Oui donc après 1584 c'est 7920 hein.

Deux solutions, sans math.factorial :

valeur = 66

for i in range(1, 10):
    valeur *= i
    print(valeur)

et avec math.factorial:

from math import factorial

valeur = 66

for i in range(1, 10):
    print(valeur * factorial(i))




  • Partager sur Facebook
  • Partager sur Twitter
16 février 2019 à 14:38:13

  • j'ai trouver la solution j'ai modifier le script power shell
  • Partager sur Facebook
  • Partager sur Twitter
Jdk for life
8 avril 2019 à 11:39:45

Bonjour, 

J'ai choisis openclassroom pour me lancer dans l'apprentissage du langage python, je ne suis que dans la 4eme leçon "Créer des structures conditionnelles".

Dans le paragraphe "les limites de la condition simple en if" je n'arrive pas à reproduire l’exemple : 

https://openclassrooms.com/fr/courses/235344-apprenez-a-programmer-en-python/231174-creez-des-structures-conditionnelles#/id/r-2231376

j'obtiens toujours : File "(stdin)", line 3 

                               if a < 0:                 avec une flèche ^ sous le f de if

ma ligne de code se présente comme ceci: 

>>> a = 5

>>> if a > 0:

...     print("a est positif.")

... if a < 0:

  File "<stdin>", line 3

    if a < 0:

     ^

SyntaxError: invalid syntax

Je n'arrive pas aller plus loin sans avoir d’erreur, j'utilise Python 3.7 (64-bit) 3.7.2.

Désolé de poster quelque chose d'aussi bénin mais je ne sais pas où me tourner, merci d'avance pour toutes aides possible.

Cordialement,

Thomas

  • Partager sur Facebook
  • Partager sur Twitter
8 avril 2019 à 11:51:23

Après la ligne print("a est positif.") appuie deux fois sur "entrer" pour valider le bloc.

-
Edité par thelinekioubeur 8 avril 2019 à 11:51:35

  • Partager sur Facebook
  • Partager sur Twitter
9 avril 2019 à 15:35:51

Merci beaucoup pour ce conseil, effectivement cela marche correctement.

Après avoir essayer la même formule sur IDLE je me suis rendu compte qu'en respectant les espaces mis automatiquement sur IDLE cela marchait sur Python en utilisant "tab".

 J'ai essayer de refaire la formule avec un nombre négatif (touche 6 ou - sur le clavier alphanumérique mais je n'obtient pas de résultat, seulement ...

Faut-il utiliser une autre touche pour un nombre négatif ?

Merci d'avance.

Cordialement,

Thomas

  • Partager sur Facebook
  • Partager sur Twitter
9 avril 2019 à 15:46:27

Non, il suffit d'écrire a = -5

-
Edité par thelinekioubeur 9 avril 2019 à 15:46:44

  • Partager sur Facebook
  • Partager sur Twitter
10 avril 2019 à 11:37:00

Bon je suis pas vraiment très fort en Python mais je sais après une condition il faut espacé 4 lignes l’instruction qui suit.

Exemple :

a = 2

if a < 4:

    print("a est inférieur") #espace de 4 lignes

else:

    print("a est supérieur") # encore espace de 4 lignes

ESSAI VOIR ET DIRE MOI DES NOUVELLES

  • Partager sur Facebook
  • Partager sur Twitter

develop my mind !

11 avril 2019 à 12:13:20

Merci pour ces réponses, je viens de refaire l'essai en changeant la variable pour un nombre négatif et tout a fonctionné.

a = -5

>>> if a < 0:

print("a est négatif.")

if a > 0:

print("a est positif.")

a est négatif.

Encore merci.

Cordialement,

Thomas

  • Partager sur Facebook
  • Partager sur Twitter
6 mai 2019 à 15:25:01

Bonjour, et merci d'avance pour vos réponses. (j'ai commencé mon cours hier, en Python)

SyntaxError: invalid syntax

>>> age
21
>>> print("age",age)
age 21
>>> if age>18:
 print("vous etes majeur")
 else:

SyntaxError: invalid syntax

Python 3.7

J'ai reproduit exactement la même chose que sur le cours mais je ne comprend pas l'erreur.

Désolé si jamais mon erreur est simple.

Merci

  • Partager sur Facebook
  • Partager sur Twitter
6 mai 2019 à 15:33:46

C'est le cours qui est faux. Deux blocs if ne peuvent pas s'enchaîner sans être séparés ar une ligne vide dans l'interpréteur interactif.

  • Partager sur Facebook
  • Partager sur Twitter
7 mai 2019 à 11:51:14

Par exemple après la condition : 

print("Hello world")
age = 19
if age < 18:
    print("Vous etes majeur")
else:
    print("Vous n'etes pas majeur")

Juste après if ou elif et else les bloc d'instructions qui suivre doivent avoir une espace de 4 entre le point de départ et le début du bloc...

Regarde sur mon code d'exemple.

  • Partager sur Facebook
  • Partager sur Twitter

develop my mind !

24 mai 2019 à 20:37:53

Bonjour / Bonsoir, 

Je travaille actuellement sur un projet d'ISN et je rencontre un problème dans mon jeu lorsque je veux empêcher mon personnage (son rectangle) de se déplacer à travers un obstacle préalablement défini : 

Voici mes bouts de codes : 

arbre1 = pygame.Rect(48, 101, 128, 122)

[...]

def affichage():
    fenetre.blit(fond,(0,0))
    fenetre.blit(perso,rect_perso)
    fenetre.blit(rose,rect_rose)
    fenetre.blit(text_surface,(5,5))
    pygame.display.update()


while True:
    comic_font = pygame.font.SysFont('Agency FB',25)
    text_surface = comic_font.render("Score: {}".format(score), True,[255,255,255])

    for evenement in pygame.event.get():
        if evenement.type==QUIT :
            pygame.quit()
            sys.exit()
        elif evenement.type==KEYDOWN:
            if evenement.key==K_UP:
                perso=pygame.image.load("Haut personnage.png")
                rect_perso.y=rect_perso.y-16
                bruit_pas.play()

            if rect_perso.top<0:
                    rect_perso.bottom=480
            affichage()
            if evenement.key==K_DOWN:
                perso=pygame.image.load("Bas personnage.png")
                rect_perso.y=rect_perso.y+16
                bruit_pas.play()
                if rect_perso.top>480:
                    rect_perso.bottom=0
                affichage()
            if evenement.key==K_LEFT:
                perso=pygame.image.load("Gauche personnage.png")
                rect_perso.x=rect_perso.x-16
                bruit_pas.play()

                if rect_perso.left<0:
                    rect_perso.left=630
                affichage()
            if evenement.key==K_RIGHT:
                perso=pygame.image.load("droite personnage.png")
                rect_perso.x=rect_perso.x+16
                bruit_pas.play()
                if rect_perso.right>630:
                    rect_perso.left=0
                affichage()

            elif rect_perso.colliderect(arbre1) == True :
                if evenement.key == K_LEFT:
                  rect_perso = rect_perso.x+1
                elif evenement.key == K_RIGHT:
                    rect_perso = rect_perso.x-1
                elif evenement.key == K_DOWN:
                    rect_perso = rect_perso.y+1
                elif evenement.key == K_UP:
                   rect_perso = rect_perso.y-1
                affichage()

Toujours une erreur en sortie : invalid destination for blit

Je ne comprends pas , le but étant que le personnage ne puisse pas pénetrer dans le rectangle de l'arbre 

Merci à toute personne qui m'aidera ! 

  • Partager sur Facebook
  • Partager sur Twitter
23 juin 2019 à 21:03:23

Salut,

Je débute tout juste sur Python avec le livre "Machine Learning avec Scikit Learn" d'Aurélien Géron.

J'ai rapidement parcouru les principaux sujets du forum mais je fais face à un problème précis que je n'arrive pas à résoudre, et qui m'empêche de passer au chapitre suivant.

Voici les dernières lignes de programmation:

from sklearn.pipeline import Pipeline

from sklearn.preprocessing import StandardScaler


num_pipeline=Pipeline([

    ('imputer', SimpleImputer(strategy="median")),

    ('attribs_adder', CombinedAttributesAdder()),

    ('std_scaler', StandardScaler()),

])

housing_num_tr = num_pipeline.fit_transform(housing_num)

num_attribs=list(housing_num)

cat_attribs=["ocean_proximity"]

num_pipeline=Pipeline([

    ('selector', DataFrameSelector(num_attribs)),

    ('imputer', SimpleImputer(strategy="median")),

    ('attribs_adder', CombinedAttributesAdder()),

    ('std_scaler', StandardScaler()),

])



class LabelBinarizerXy(LabelBinarizer):

    def fit(self, X, y=None):

        return super(LabelBinarizerXy, self).fit(X)

    def fit_transform (self, X, y=None):

        return super(LabelBinarizerXy, self).fit_transform(X)

    

cat_pipeline=Pipeline([

        ('selector', DataFrameSelector(cat_attribs)),

        ('cat_encoder', LabelBinarizerXy()),

    ])



from sklearn.base import BaseEstimator, TransformerMixin


class DataFrameSelector(BaseEstimator, TransformerMixin):

    def __init__(self, attribute_names):

        self.attribute_names=attribute_names

    def fit(self, X, y=None):

        return self

    def transform(self, X):

        return X[self.attribute_names].values



housing_prepared=full_pipeline.fit_transform(housing)

housing_prepared

Et voici le message d'erreur qui apparaît:

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-227-d082d365ab22> in <module>
----> 1housing_prepared=full_pipeline.fit_transform(housing)
 2 housing_prepared

NameError: name 'full_pipeline' is not defined

J'ai relu toutes les lignes une à une et je ne vois pas où j'ai pu me tromper, je ne comprends pas encore le langage et je ne vois pas où je devrais définir la pipeline, je n'ai pourtant oublié aucune ligne de code...

Si jamais quelqu'un parvient à voir mon erreur, cela me serait d'une grande aide!
Merci d'avance !
Marine 
  • Partager sur Facebook
  • Partager sur Twitter
24 juin 2019 à 9:17:57

C'est simple, ligne 77 tu utilises une variable "full_pipeline" alors qu'elle n'est définie nulle part.

Et la variable "housing" n'est pas définie non plus.

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
8 juillet 2019 à 16:47:52

Salut à tous, j'ai commencé le cours pour apprendre le Python. J'en suis au chapitre sur les modules, j'ai donc créé mon propre module comme celui des tables de multiplication du cours. Quand j'importe ce dernier le programme ce lance et s'éxécute correctement mais une erreur apparaît :

Une exception s'est produite : NameError
name 'MonModule' is not defined
File "C:\Users\Username\Desktop\python\Test Module.py", line 4, in <module> MonModule.table(3, 20)

Voici le code :

import os
from MonModule import *

MonModule.table(3, 20)
os.system("pause")

Comment corriger cette erreur sachant que MonModule n'est pas une variable mais un module ?

Je précise que je code sur Visual Studio Code avec toutes les extensions nécéssaires au Python d'installées.

Merci d'avance pour tout aide qui me serait apporté.

-
Edité par Anonyme 8 juillet 2019 à 16:51:10

  • Partager sur Facebook
  • Partager sur Twitter
8 juillet 2019 à 17:38:31

Met

import MonModule

à la place de

from MonModule import *




  • Partager sur Facebook
  • Partager sur Twitter
8 juillet 2019 à 17:40:29

Tu as deux façons d'importer le contenu d'un module.

1°) Importer le module entier. Ensuite, les objets du module doivent être préfixés du nom du module

import mon_module

mon_module.table(3, 20)

2°) Importer tout ou partie des objets du module. Ensuite tu peux les utiliser sans les préfixer. L'inconvénient est qu'il ne doit pas y avoir de conflit entre des objets qui porteraient le même nom dans des modules différents

from mon_module import *  # Importe tous les objets

table(3, 20) # Pas besoin de préciser de quel module il vient
from mon_module import table  # Importer seulement table

table(3, 20)

NB : utilise des _ plutôt que des majuscules dans les noms des modules, des fonctions et des variables Python. C'est une convention.

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
8 juillet 2019 à 21:13:03

Merci à vous deux ! L'erreur n'apparaît plus  :)
  • Partager sur Facebook
  • Partager sur Twitter