Partage
  • Partager sur Facebook
  • Partager sur Twitter

Les erreurs courantes en Python

Évitons de nous répéter

27 mai 2016 à 16:49:31

Bonjour,

je vient de parametrer mon Apache avec deux ligne

    Options Indexes FollowSymLinks ExecCGI
    AddHandler cgi-script .cgi .py

sur le fichier httpd.cof

en sachant que j'ai win8 avec wampser (64bit)

j'ai fait un teste de code python

print "Hello World!"

il m'affiche erreur 500 :

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at admin@example.com to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.

comment je peux régler ce problème Merci d'avance .

-
Edité par rydweb 27 mai 2016 à 16:50:59

  • Partager sur Facebook
  • Partager sur Twitter
13 juin 2016 à 16:16:02

slvp j'ai un devoir a rendre demain. je dois faire une petite simulation de l'algorithme pagerank de google mais le code que jai fait ne marche pas . est ce que vous pourrez me coriger?

import numpy as np

from scipy import linalg as lg

from scipy import *

def iterationPageRank (Q,alpha,x,v) :

y = Q*x

y = alpha*y

d = 1 - norm(y,1)

y = y + d*v

res = norm(y-x,1)

return y,res

def PowerPageRank(Q, alpha, tol) :

#Q : la matrice creuse de Google

# alpha :paramètre de regularisation

# tol:tolerance de convergence (scalaire, ex: 1e-4)

residu=[]

N=Q.shape[0]

uniform=ones(N)

print(uniform)

uniform=1/N*uniform

v=uniform

x=uniform

I=0

res=1

while res > tol :

x,res= iteratePageRank(Q,alpha,v,x)

I = I + 1

residu.append(res)

return x,I,res

def main ():

d=[]

Q=array([[0,0,0,0,0,0],

[1/2,0,1,0,0,0],

[1/2,1,0,1/3,0,0],

[0,0,0,0,1,1/2],

[0,0,0,1/3,0,1/2],

[0,0,0,1/3,0,0]])

print(Q)

tol=10**(-8)

y=array([ 0,0,0,0,0,0])

for i in range (0,Q.shape[0]):

x,I,residu = PowerPageRank(Q,y[i],tol)

d.append(I)

plt.plot(y,d,'-')

# plt.legend(['alpha', 'iterations'], loc='best')

plt.show()

main()

  • Partager sur Facebook
  • Partager sur Twitter
21 juillet 2016 à 20:34:14

a = input ("a : ")
if a == 1:
    print ("MARCHE")
else:
    print ("MARCHE PAS !")
    

Bonjour, voila mon  code tout simple ...

Pourtant quand je rentre 1, la console renvoi le "Marche pas"

Que faire ? 

-
Edité par thomasermel 21 juillet 2016 à 20:38:24

  • Partager sur Facebook
  • Partager sur Twitter
21 juillet 2016 à 20:44:02

@ thomasermel : le problème c’est que 1 est différent de "1" or input te retourne une chaîne de caractère et pas un entier. Tu as alors deux solutions.

  • Comparer a à "1".
  • Faire que a soit un entier (en utilisant int).

PS :la prochaine fois, crée ton propre sujet.

-
Edité par yo@n97one 21 juillet 2016 à 20:44:53

  • Partager sur Facebook
  • Partager sur Twitter
Tutoriel Ruby - Bon tutoriel C - Tutoriel SDL 2 - Python avancé - Faîtes un zeste, devenez des zesteurs
30 août 2016 à 23:11:41

IndexError

def inverse(ch):
	i = 0
	hc = ""
	x = len(ch) - 1		
	while i < len(ch) :
		hc = hc + ch[x]
		x += 1
		i = i + 1
	return hc

Quand j'essaie d'utiliser la fonction ça me met ça:

Traceback (most recent call last):

  File "<pyshell#38>", line 1, in <module>

    inverse('test')

  File "<pyshell#37>", line 6, in inverse

    hc = hc + ch[x]

IndexError: string index out of range

  • Partager sur Facebook
  • Partager sur Twitter
30 août 2016 à 23:33:01

Au second tour de boucle, x vaudra len(ch), il y a donc un dépassement et python t'envoie une exception. Je crois que celle-ci a déjà été détaillée (la flemme de vérifier).

Au passage, en Python il y a reversed et les slices:

>>> x = "llama"
>>> "".join(reversed(x))
'amall'
>>> x[::-1]
'amall'
  • Partager sur Facebook
  • Partager sur Twitter
Un vrai cours de: (C | C++ | Haskell débutant | Haskell intermédiaire | Rust).
31 août 2016 à 16:43:43

Bonjour,

Je suis le programme "apprenez a programmer en Python"
Je suis au chapitre "Les structures conditionnelles"

Je rencontre un problème que je n'arrive pas à résoudre...

  • Partager sur Facebook
  • Partager sur Twitter
31 août 2016 à 17:49:23

Ok. Mais ce n'est pas le bon sujet.
  • Partager sur Facebook
  • Partager sur Twitter
Un vrai cours de: (C | C++ | Haskell débutant | Haskell intermédiaire | Rust).
10 octobre 2016 à 23:23:00


Bonjour, voici mon script en python pour transformer mon fichier csv en xml cependant dans l'exécution une erreur s'affiche:

#! usr/bin/python
# -*- coding: utf-8 -*-

import csv
import lxml.etree as ET
from xml.etree.ElementTree import Element, SubElement, Comment, tostring

headers = ['Titre', 'Realisateur', 'Date_Debut_Evenement', 'Date_Fin_Evenement', 'Cadre',
           'Lieu', 'Adresse', 'Arrondissement', 'Adresse_complète', 'Geo_Coordinates']

# INITIALIZING XML FILE
root = ET.Element('root')

# READING CSV FILE AND BUILD TREE
with open('myData.csv') as f:
    next(f)                             # SKIP HEADER
    csvreader = csv.reader(f)

    for row in csvreader:        
        data = ET.SubElement(root, "data")
        for col in range(len(headers)):
            node = ET.SubElement(data, headers[col]).text = str(row[col])

# SAVE XML TO FILE
tree_out = (ET.tostring(root, pretty_print=True, xml_declaration=True, encoding="UTF-8"))

# OUTPUTTING XML CONTENT TO FILE
with open('Output.xml', 'wb') as f:
    f.write(tree_out)

voici l'erreur : python test.py
Traceback (most recent call last):
  File "test.py", line 21, in <module>
    node = ET.SubElement(data, headers[col]).text = str(row[col])
IndexError: list index out of range
pourriez vous svp me dire le problème! merci!
  • Partager sur Facebook
  • Partager sur Twitter
10 octobre 2016 à 23:40:48

Salut

C'est pas le bon endroit.

Mais, en fait, si je ne me trompe pas, c'est que len() donne la longueur de la liste (admettons 10 pour 10 éléments). Dans ce cas, les éléments vont du premier (0) au dernier (9). Or, ta boucle for va chercher col[10] (le onzième élément) qui n'existe pas.

  • Partager sur Facebook
  • Partager sur Twitter
14 octobre 2016 à 14:59:36

INDENTATIONS SOUS PYTHON AVEC BLUEFISH

Bonjour

J'ai découvert l'éditeur bluefish . Je trouve que cet éditeur permet d'afficher agréablement les caractères non imprimables , notamment les

tabulations , les espaces et les fins de lignes dans des scripts python . Je l' utilise pour réparer le code python quand j'ai mélangé des

espaces et des tabulations dans les indentations .

Si on avait un éditeur à la bluefish dans geany ce serait super ; car l'affichage des caractères non imprimables sous geany n'est pas agréable .

Bien à vous .

  • Partager sur Facebook
  • Partager sur Twitter
16 octobre 2016 à 16:23:52

SAUVEGARDER IMAGES-TURTLE

Bonjour

Je n'arrive pas à importer le module canvasvg

merci de votre aide

  • Partager sur Facebook
  • Partager sur Twitter
16 octobre 2016 à 16:47:42

@denis: est-ce que c'est une erreur courante?
  • Partager sur Facebook
  • Partager sur Twitter
Précepte: Le mieux est l'ennemi du bien
19 octobre 2016 à 2:10:35

tomsawyer1311 a écrit:

Salut

C'est pas le bon endroit.

Mais, en fait, si je ne me trompe pas, c'est que len() donne la longueur de la liste (admettons 10 pour 10 éléments). Dans ce cas, les éléments vont du premier (0) au dernier (9). Or, ta boucle for va chercher col[10] (le onzième élément) qui n'existe pas.

bonjour merci!

je me suis trompée d'endroit! Aurais-tu une idée pour remedier à cela! merci dois je supprimer le len.



  • Partager sur Facebook
  • Partager sur Twitter
19 octobre 2016 à 3:44:53

@KELODJOUENGUEMEGNEEMMANUELLECYNTHIA: On ne peut pas supprimer nos messages nous mêmes sur ce site, à ma connaissance. Ce que tu peux faire c'est l'éditer, supprimer son contenu et à la place préciser qu'il est hors-sujet.

  • Partager sur Facebook
  • Partager sur Twitter
Un vrai cours de: (C | C++ | Haskell débutant | Haskell intermédiaire | Rust).
28 décembre 2016 à 12:15:12

Bonjour, 

Je suis débutante sur Python et j'essaie de faire un programme pour crypter des message avec le chiffre de Vigener. Le probleme c'est que Python m'affiche : 

File "<tmp 5>", line 13, in <module>

lettre= m[k]

IndexError: string index out of range


D'où vient l'erreur ? Comment y remédier ? 

Est-ce que vous pourriez m'aider s'il vous plait ? Merci d'avance 

message= input("Entrez votre message: ")

clef=input("Entrez votre mot clef: ")

lc=len(clef)
lm=len(message)

while (lc<lm):

clef=clef+clef

lc=len(clef)

message_code=""

for k in range(lm):
      lettre=message[k]
      if ((ord(lettre)> 64) and (ord(lettre)<91)):

             decalage=ord(clef[k])-65

             numero=(ord(lettre)-65+decalage)%26

             code=chr(numero + 65)

      else:

            code=lettre

            message_code=message_code+code

print (message_code)

-
Edité par DahbiaSemroud 28 décembre 2016 à 12:18:08

  • Partager sur Facebook
  • Partager sur Twitter
28 décembre 2016 à 12:29:28

Mad scientist a écrit:

Ok. Mais ce n'est pas le bon sujet.


Sinon, out of range signifie que tu essayé d'accéder à un élément qui est en dehors de ton tableau.

-
Edité par edouard22 28 décembre 2016 à 12:32:47

  • Partager sur Facebook
  • Partager sur Twitter
30 décembre 2016 à 12:02:14

Bonjour

J'ai actuellement rédigé un programme en python qui fait intervenir une fonction, apparemment pas d'erreur de syntaxe mais lorsque j'appelle ma fonction dans "run" cela me marque <function deriv at 0x74d9f6a8>. Je ne comprends pas d'où vient mon erreur. 
Merci d'avance. 

/!\ Problème résolu /!\

-
Edité par NM. 30 décembre 2016 à 14:01:21

  • Partager sur Facebook
  • Partager sur Twitter
3 mars 2017 à 2:57:07

Bonjour

J ai une exception que je ne comprend pas 

TypeError 

Sleep takes one arguments (2 given)

Et il pointe la fonction que j ai appelé, à savoir

Sleep(0.00001)

  • Partager sur Facebook
  • Partager sur Twitter
3 mars 2017 à 19:40:31

Bonsoir j'aimerai savoir si c'est possible d'exécuter un petit code python d'une simple fenêtre stocké dans une base des données postgresql . Le problème   est que quand je recupere le code de la base s'affiche comme ça ('from tkinter import *\nfenetre = Tk()\nlabel = Label(fenetre, text="Hello World")\nlabel.pack()\nfenetre.mainloop()',)

avec les parentheses et les \n au liu de retourner a la ligne . je voudrais trouver la solution pour le recuperer en type string pour pouvoir appliquer exec().

merci d'avance

  • Partager sur Facebook
  • Partager sur Twitter
12 mars 2017 à 19:21:49

Bonjour en voulant utiliser tryton j'ai rencontré un probeme pour me connecter au serveur puis je recois ce message d'erreur :

Traceback (most recent call last):
  File "/home/djibril/.local/lib/python2.7/site-packages/tryton/gui/window/dblogin.py", line 299, in refresh_databases_end
    if self.test_server_version(host, port) is False:
  File "/home/djibril/.local/lib/python2.7/site-packages/tryton/gui/window/dblogin.py", line 269, in test_server_version
    version = rpc.server_version(host, port)
  File "/home/djibril/.local/lib/python2.7/site-packages/tryton/rpc.py", line 57, in server_version
    result = connection.common.server.version()
  File "/usr/lib/python2.7/xmlrpclib.py", line 1243, in __call__
    return self.__send(self.__name, args)
  File "/home/djibril/.local/lib/python2.7/site-packages/tryton/jsonrpc.py", line 287, in __request
    verbose=self.__verbose
  File "/usr/lib/python2.7/xmlrpclib.py", line 1283, in request
    return self.single_request(host, handler, request_body, verbose)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1313, in single_request
    response = h.getresponse(buffering=True)
  File "/usr/lib/python2.7/httplib.py", line 1136, in getresponse
    response.begin()
  File "/usr/lib/python2.7/httplib.py", line 453, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python2.7/httplib.py", line 417, in _read_status
    raise BadStatusLine(line)
BadStatusLine: ''
        

j'ai besoin d'aide urgent !!!

  • Partager sur Facebook
  • Partager sur Twitter
14 mars 2017 à 21:35:32

Bonjour, je suis en classe seconde et travail sur mon projet d'ICN, je dois faire un annuaire téléphonique sur Tkinter, j'ai bientôt terminé mais j'ai un problème d'erreur syntaxe, j'ai chercher sur diverses forums et je ne trouve pas de solution, si quelqu'un trouve la solution je suis preneur car je dois rendre mon projet dans pas longtemps.
from tkinter import *
def efface():
	varP.set('')
	varN.set('')
	varT.set('')
def sauvegarder():
	f = open(fichier,'a')
	prenom = entr1.get()
	f.write(prenom + '\n')
	nom = entr2.get()
	f.write(nom + '\n')
	telephone = entr3.get()
	f.write(telephone + '\n')
	f.close()
	efface()
def transfert():
	f = open(fichier,'r')
	j = 1
	while j==1:
		t = f.readline()
		if t=='':
			f.close()
			j=0
		else:
			liste.append(t)
			t = f.readline()
			liste.append(t)
			t = f.readline()
			liste.append(t)
def affiche():
	global i
	if i == len(liste):
		varP.set('Fin')
		varN.set('Fin')
		varT.set('FIn')
		i = 0
		transfert()
	else:
		varP.set(liste[i])
		varN.set(liste[i+1])
		varT.set(liste[i+2])
		i = i + 3

def recherche(num=0, element='', suivant=0):
        if num == 3:
                placer()
                return
        f = open('Base.txt','r')
        j=1
        while j==1:
                prenom = f.readline()[:-1]
                nom = f.readline()[:-1]
                numero = f.readline()[:-1]
                liste=[prenom, nom, numero]
                if liste[num]==element:
                        placer(liste)
                        f.close()
                        return
                if prenom '' or nom '' or numero == '' : j=0
                if j == 0: placer ()
                f.close()

def placer(liste=['Non trouvé','Non trouvé','Non trouvé']):
        varP.set(liste[0])
        varN.set(liste[1])
        varT.set(liste[2])

def infos():
        prenom = entr1.get()
        nom = entr2.get()
        tele = entr3.get()
        if prenom !='':
                return recherche(1,nom)
        elif tele !='':
                return recherche(2,tele)
        else: return recherche(3)


fen1 = Tk()
fen1.title('Repertoire téléphonique')
liste = []
i = 0
fichier = 'Tiago'
Label(fen1, text='Prenom    : ').grid(row=1,column=1, sticky=W)
Label(fen1, text='Nom       : ').grid(row=2,column=1, sticky=W)
Label(fen1, text='Telephone : ').grid(row=3,column=1, sticky=W)
varP = StringVar()
entr1 = Entry(fen1, textvariable=varP)
varP.set('')
varN = StringVar()
entr2 = Entry(fen1, textvariable=varN)
varN.set('')
varT = StringVar()
entr3 = Entry(fen1, textvariable=varT)
varT.set('')
entr1.grid(row=1,column=2)
entr2.grid(row=2,column=2)
entr3.grid(row=3,column=2)
Button(fen1, text=' Sauvegarder  ',command=sauvegarder).grid(row=4,column=0)
Button(fen1, text=' Liste  ',command=affiche).grid(row=4,column=1)
Button(fen1, text='Actualiser',command=transfert).grid(row=4,column=2)
Button(fen1, text=' Effacer ',command=efface).grid(row=4,column=3)
Button(fen1, text=' Fermer ', command=fen1.quit).grid(row=4,column=4)
Button(fen1, text=' Chercher ' , command=infos).grid(row=4,column=5) 
fen1.mainloop()
fen1.destroy() 
  • Partager sur Facebook
  • Partager sur Twitter
14 mars 2017 à 21:40:15

ligne 23; sinon, il y a toujours amazon

-
Edité par edouard22 14 mars 2017 à 21:43:26

  • Partager sur Facebook
  • Partager sur Twitter
5 mai 2017 à 21:46:05

j'ai un problem avec cette erreur de syntax: >>> age=21 >>> if age>= 18:

      print("Vous etes majeur")
   else:
       

SyntaxError: unindent does not match any outer indentation level

  • Partager sur Facebook
  • Partager sur Twitter
7 mai 2017 à 10:37:29

regarde ici 

https://openclassrooms.com/forum/sujet/probleme-avec-l-indentation-avec-l-idle-sous-mac-92951

ou la 

https://openclassrooms.com/forum/sujet/python-probleme-avec-les-conditions-48524

  • Partager sur Facebook
  • Partager sur Twitter
8 mai 2017 à 12:49:06

Salut ! 

J'ai une erreur avec "numpy" que je n'arrive pas à corriger:

import numpy as np
from numpy import *



def ivrogne2d(n):
    tableau = np.zeros((n),(n))
    print(tableau)
    
    
ivrogne2d(6)

J'ai l'erreur :

TypeError: data type not understood

Quelqu'un sait d'ou ça vient ? 


  • Partager sur Facebook
  • Partager sur Twitter
27 mai 2017 à 17:11:42

Bonjour , je suis débutante en programmation .

Il y a un type d'erreur que je ne comprends toujours pas . Il s'agit de "IndexError: list index out of range" Le résultat voulu s'affiche suivie de "IndexError: list index out of range" .

ex :

t1 = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
t2 = ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin','Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre']
t = t1 + t2
i = 0
for lettre in t :
print(t1[i],t2[i])
i = i + 1
print(t)
et quand je teste le programme :
Traceback (most recent call last):
31 Janvier
  File "C:/Users/xyz/PycharmProjects/exercice/exochapitre6.py", line 6, in <module>
28 Février
31 Mars
30 Avril
31 Mai
30 Juin
31 Juillet
31 Août
30 Septembre
31 Octobre
30 Novembre
31 Décembre
    print(t1[i],t2[i])
IndexError: list index out of range
Quelqu'un m'expliquer s'il vous plait ?

-
Edité par Aissata12 27 mai 2017 à 17:26:38

  • Partager sur Facebook
  • Partager sur Twitter
27 mai 2017 à 19:36:46

Cela signifie que tu essaye d'accéder a un indice en dehors de ta liste.  

Ici ton for vas parcourir tous les éléments de t. Cest à dire que lettre vas valoir :31 , 28 ..., janvier, février ... décembre . Ce qui fait que lorsque lettre vaudra janvier, i vaudra 12 or t1[12] n'est pas defini

-
Edité par edouard22 27 mai 2017 à 19:40:47

  • Partager sur Facebook
  • Partager sur Twitter
27 mai 2017 à 23:06:11

Ah d'accord Merci ! Mais il y a autant d'élément dans t1 que dans t2 . Janvier correspond donc à t1[0]
  • Partager sur Facebook
  • Partager sur Twitter