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 :

problème de syntaxe en python


Sujet :

Python

  1. #1
    Membre actif

    Inscrit en
    Août 2005
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 401
    Points : 228
    Points
    228
    Par défaut problème de syntaxe en python
    Bonjour a tous !

    Comment allez vous ? vous avez passé un bon week end ?

    Bon je vais pas vous déranger lontemps c'est juste que je comprend pas les boucles for et if en python:
    Voyez vous même par l'exemple:

    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
    19
    #Crible eratosthene en iteratif.
    def eratoIteratif(n):
    #n taille du tableau
    	i=0
    	j=0
    	k=0
    	div=0
    	tab=range(2,n+1)
     
    	for i in sqrt(n):
    		if tab[i]!=0:
    			div=tab[i],
    			y=i+1
    			for y in n:
    				if tab[y]%div==0:
    					tab[y]=0,
    		for k in n:
    			if tab[k] != 0:
    				print tab[k]
    J'ai une erreur ici: for i in sqrt(n):
    et je souhaiterais aussi mettre sur une seule ligne ceci:
    J'espère que vous pourrez m'aider dans la syntaxe

    Merci a tous bonne soirée

  2. #2
    Membre éclairé
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Points : 803
    Points
    803
    Par défaut
    i=j=k=div=0

  3. #3
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 181
    Points : 199
    Points
    199
    Par défaut
    Salut,

    Citation Envoyé par akrogames
    je comprend pas les boucles for
    Les boucles for en Python n'ont rien à voir avec le for du C et C++. Leur comportement est celle de foreach en PHP, bien que la syntaxe ne soit pas la même.
    Une boucle for en Python se lit :
    Citation Envoyé par pseudo code
    pour chaque element dans un conteneur:
    Grâce au typage dynamique, la variable element peut prendre la valeur du prochain élément contenu dans le conteneur.
    Un conteneur est tout élément de type "iterable" (les listes, les tuples, les chaînes, etc).

    Exemples :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    elements = [42, 0.5, "pingouin", (1, 2, 3), 7]
     
    for item in elements:
    	print item, type(item)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    mot = "bonjour"
    for lettre in mot:
    	print lettre
    Pour un crible d'Ératosthène en itératif, je ne pense pas que la boucle for soit adaptée. Ce code est plus concis :

    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
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
     
    def crible(n):
    	l = range(2, n + 1)
    	i = 0
    	while i < len(l) and (l[i] ** 2) <= n:
    		j = i + 1
    		while j < len(l):
    			if l[j] % l[i] == 0:
    				del l[j]
    			else:
    				j += 1
    		i += 1
    	return l
     
    print crible(input("liste des nombres premiers de 2 à :\n>> "))
    On ne doit pas modifier un conteneur pendant qu'on le parcourt avec une boucle for.
    Techniquement c'est possible, mais gare aux mauvaises surprises.

    Pour le crible d'Ératosthène en Python, on peut faire un algorithme récursif et utilisant les compréhensions de liste.
    Il y a deux exemples sur Wikipédia :
    http://fr.wikipedia.org/wiki/Crible_...A8ne_en_Python

    Impressionnant, non ?
    Mais c'est d'un niveau un peu plus complexe.
    <3 Debian
    [ C | C++ | PHP | Python ]

  4. #4
    Membre actif

    Inscrit en
    Août 2005
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 401
    Points : 228
    Points
    228
    Par défaut
    Re bonjour !

    Ah oui j'avais déjà vu sur wikipedia l'algo en recursif mais j'avoue que je ne comprenais rien. Donc j'ai vulu faire mon propre algo mais apperement c'etait faux.

    Merci pour tout
    Je reviendrai certainement vers vous car je suis entrain d'implémenter l'algo d'atkin.


    Bon bah a plus tard mes chers amis.

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

Discussions similaires

  1. Problème de syntaxe - elements['x'].value
    Par Equus dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/02/2005, 11h22
  2. [Interbase] Problème de syntaxe SQL
    Par navis84 dans le forum InterBase
    Réponses: 4
    Dernier message: 22/12/2004, 17h07
  3. Problème de syntaxe
    Par Mister_FX dans le forum ASP
    Réponses: 5
    Dernier message: 30/06/2004, 10h01
  4. Problème de syntaxe ADO ...
    Par bendev dans le forum ASP
    Réponses: 2
    Dernier message: 15/04/2004, 14h38
  5. Réponses: 2
    Dernier message: 08/03/2004, 15h10

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