Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#501 Le 22/04/2010, à 15:08

Кຼزດ

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Lagierl a écrit :

En Python comment forcer l'arrêt d'un thread ?
L'auteur du tutoriel nous conseil d'utiliser la méthode

__Thread__stop()

mais dans une note en bas de page, demande aux puristes de bien vouloir le pardonner.
Y'a un moyen de faire ça plus proprement ?

exit() ou exit_thread() non ?


dou

Hors ligne

#502 Le 22/04/2010, à 15:58

compte supprimé

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Les méthodes n'existent pas.
Mais finalement, je garde ma technique, l'autre moyen d'arrêter un thread ne fonctionne pas dans mon cas.

#503 Le 22/04/2010, à 16:53

Кຼزດ

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

    exit(...)
        exit()
        (PyThread_exit_thread() is an obsolete synonym)
        
        This is synonymous to ``raise SystemExit''.  It will cause the current
        thread to exit silently unless the exception is caught.
    
    exit_thread(...)
        exit()
        (PyThread_exit_thread() is an obsolete synonym)
        
        This is synonymous to ``raise SystemExit''.  It will cause the current
        thread to exit silently unless the exception is caught.

hmm
Tu as bien fait import thread avant le thread.exit_thread() ? (je suppose que tu utilises threading.Thread


dou

Hors ligne

#504 Le 22/04/2010, à 17:04

compte supprimé

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Oui, j'utilise bien "threading.Thread".
Je savais pas que tes méthodes fessaient partie d'un autre module. Merci !

#505 Le 22/04/2010, à 17:24

Кຼزດ

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Cela dit, je ne sais pas du tout si c'est plus propre que l'autre méthode, hein tongue


dou

Hors ligne

#506 Le 22/04/2010, à 19:36

tshirtman

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

je pense que tu n'es pas sensé stoper un thread, soit tu lui envoit un signal lui signifiant de se terminer et tu le join, soit tu attends qu'il se termine tout seul (pareil, avec join). Si tu as besoin de killer ton thread, c'est probablement que tu fais quelque chose de mal…

Hors ligne

#507 Le 22/04/2010, à 20:44

Pylades

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

grim7reaper a écrit :

Par concis je parle du nombre d'instructions, pas du nombre de lettre (ce qui n'a aucun sens).

Boah, si on part comme ça… tongue

Mais sur ce coup là le C n’est pas plus concis.

#include <stdio.h>
int main(void)
{
	unsigned char c;
	for(c=0;c<128;c++)
		putc(c,stdout);
	return 0;
}

Après bien sûr c’est un exemple à la con, mais c’était juste histoire de dire. wink


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#508 Le 22/04/2010, à 20:51

grim7reaper

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Je n'ai pas dis que le C était plus concis, ça n'a jamais été un des ces atouts, au contraire (mais il à  le mérite d'être plus lisible que le bf ou ton langage).

Hors ligne

#509 Le 22/04/2010, à 20:54

Pylades

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Je suis d’accord. tongue


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#510 Le 22/04/2010, à 21:02

grim7reaper

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Le contraire aurait été de la mauvaise foi tongue

Hors ligne

#511 Le 22/04/2010, à 21:10

tshirtman

Hors ligne

#512 Le 22/04/2010, à 21:18

grim7reaper

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Gné ?

Hors ligne

#513 Le 22/04/2010, à 21:24

Pylades

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

@tshirtman : et pour les non-pythoneux ?


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#514 Le 22/04/2010, à 21:25

grim7reaper

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

C'est un contre-exemple sur la soit-disante clarté du Python tongue

Hors ligne

#515 Le 22/04/2010, à 21:26

Pylades

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

^^


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#516 Le 22/04/2010, à 21:29

Кຼزດ

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

grim7reaper a écrit :

C'est un contre-exemple sur la soit-disante clarté du Python tongue

Quoi, c'est pas compliqué yikes


dou

Hors ligne

#517 Le 22/04/2010, à 21:30

grim7reaper

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Bah quand tu connais pas le Python si !

Je vois pas ce qu'est lowercase surtout (une fonction, une variable, ...)

Dernière modification par grim7reaper (Le 22/04/2010, à 21:31)

Hors ligne

#518 Le 22/04/2010, à 21:34

tshirtman

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

en fait c'est encore plus simple (je croyais me souvenir que c'était une liste, mais c'est une simple chaine):

>>> from string import lowercase
>>> print lowercase
abcdefghijklmnopqrstuvwxyz
>>>

(mais le code que j'ai donné à exactement le même effet).
(il y a uppercase, alphanum et d'autres, dans le module string)

Hors ligne

#519 Le 22/04/2010, à 21:39

Pylades

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Comme ça c’est plus clair.
Mais ça ne fait pas la même chose que le code de six caractères que j’ai donné. tongue


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#520 Le 22/04/2010, à 21:40

Кຼزດ

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

tshirtman a écrit :

en fait c'est encore plus simple (je croyais me souvenir que c'était une liste, mais c'est une simple chaine):

>>> from string import lowercase
>>> print lowercase
abcdefghijklmnopqrstuvwxyz
>>>

(mais le code que j'ai donné à exactement le même effet).
(il y a uppercase, alphanum et d'autres, dans le module string)

    ascii_letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
    ascii_lowercase = 'abcdefghijklmnopqrstuvwxyz'
    ascii_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    digits = '0123456789'
    hexdigits = '0123456789abcdefABCDEF'
    letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
    lowercase = 'abcdefghijklmnopqrstuvwxyz'
    octdigits = '01234567'
    printable = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTU...
    punctuation = '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
    uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    whitespace = '\t\n\x0b\x0c\r '

C'est sympa mais ça sert à quoi ? big_smile


dou

Hors ligne

#521 Le 22/04/2010, à 21:56

tshirtman

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

ben plein d'opérations sur les chaines pardi smile

genre

for char in string:
   if char in whitespace: # ah on est entre deux mots
          mot_courant = ''
   elif char in asciiletters and mot_courant == '': # ah, on commence un mot clé ou une variable
          mot_courant += char
   elif char in digit and mot_courant == '': # on commence une constante
………

fin bon c'est un exemple un peu simple, mais dans pas mal de cas, ça fait gagner du temps…

Hors ligne

#522 Le 22/04/2010, à 22:05

Grünt

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

whitespace='                  '

tongue


Red flashing lights. I bet they mean something.

Hors ligne

#523 Le 22/04/2010, à 22:56

gnuuat

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Pylade a écrit :
grim7reaper a écrit :

Par concis je parle du nombre d'instructions, pas du nombre de lettre (ce qui n'a aucun sens).

Boah, si on part comme ça… tongue

Mais sur ce coup là le C n’est pas plus concis.

#include <stdio.h>
int main(void)
{
	unsigned char c;
	for(c=0;c<128;c++)
		putc(c,stdout);
	return 0;
}

Après bien sûr c’est un exemple à la con, mais c’était juste histoire de dire. wink

#include <stdlib.h>
#include <stdio.h>
#include "my.h"

int             main(void)
  {
    char        buff[BUFSIZ];
    int         ctr;

    ctr = -1;
    buff[BUFSIZ - 1] = 'a';
    while (++ctr < BUFSIZ)
      {
        if (buff[BUFSIZ - 1] <= 'z')
            buff[ctr] = buff[BUFSIZ -1]++;
        else
          buff[ctr] = '\0';
      }
    my_putstr(buff);
    return (EXIT_SUCCESS);
  }

edit : de toute façon, ton code écrit caractère par caractère, ce qui est assez lent (mieux vaut faire un write d'un buffer), et il écrit des caractères non affichables...

Dernière modification par gnuuat (Le 22/04/2010, à 22:58)


Bisouland : embrassez les tous !
Volez les points d'amour de vos adversaires en les embrassant, dans ce jeu gratuit par navigateur !

Hors ligne

#524 Le 22/04/2010, à 23:07

grim7reaper

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

@gnuuat : Bel démo de comment rendre obscur un code simple big_smile.
Non, ça vient peut-être de moi, mais j'ai vraiment du mal avec cette mise en forme hmm

À part ça ton code est HS car on demandes les 128 caractères de la table ASCII, pas les 26 lettres de l'alphabet en minuscule tongue

Et sinon, avant de juger un code plus lent qu'un autre, il faut comparer les sorties asm produitent après optimisations pour voir si ton jugement est valide ou pas. Dans ce cas il l'est peut-être, je n'ai pas vérifié, mais c'est une remarque d'ordre générale (on a parfois de sacré surprise).

Dernière modification par grim7reaper (Le 22/04/2010, à 23:10)

Hors ligne

#525 Le 22/04/2010, à 23:09

Pylades

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

@gnuuat : buffer overflow roll Euh, merde, non rien, j’ai dit une connerie, j’ai lu trop vite… roll

Et pourquoi toujours ce style ÉPITECH ?

Dernière modification par Pylade (Le 22/04/2010, à 23:14)


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne