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.

#426 Le 24/06/2010, à 00:27

helly

Re : /* Topic des codeurs couche-tard [1] */

writeln('BN');

haaaa le pascal… jsuis mélangée entre la nostalgie et le dégout tongue


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#427 Le 24/06/2010, à 00:34

nesthib

Re : /* Topic des codeurs couche-tard [1] */

display('plop')

big_smile


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#428 Le 24/06/2010, à 00:36

helly

Re : /* Topic des codeurs couche-tard [1] */

std::cout<<"plop\n";

mad


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#429 Le 24/06/2010, à 00:40

grim7reaper

Re : /* Topic des codeurs couche-tard [1] */

Allez, avant de dodo je vous offre cette émulation de "wc -l" en Perl (One Line bien sûr, c'est un langage sérieux le Perl tongue)

perl -lne '}{ print $.'

ou (plus rapide, mais plus long de trois caractères)

perl -ne '}{ print "$.\n"'

L'astuce est basé sur l'un des opérateurs secrets du Perl, ici The Eskimo Greeting Operator (il y avait une vidéo des Journées Perl 2009 où ils en présentaient mais pas moyen de retrouver un lien valide, si j'avais su je ne l'aurais pas supprimé >_<").

Allez, sur ce je glob et BN World !

Dernière modification par grim7reaper (Le 24/06/2010, à 04:45)

Hors ligne

#430 Le 24/06/2010, à 00:45

nesthib

Re : /* Topic des codeurs couche-tard [1] */

bien sympa, ça me renforce dans l'idée d'apprendre le Perl un jour


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#431 Le 24/06/2010, à 00:46

tshirtman

Re : /* Topic des codeurs couche-tard [1] */

Pylade a écrit :
tshirtman a écrit :

Ben trouve un seul cas qui serait plus élégamment géré par un goto que par ce qu'offre le python actuellement, je sais que quand on a marteau, tous les problèmes ressemblent à des clous, mais tu gagne vraiment à te servir d'outils adaptés…

J’en avais un, mais du coup j’ai essayé de faire ça à coups de try et d’except (ça fait plus python…). Mais une fois passées les premières impressions, c’est vrai que c’est mieux qu’un goto, en fait. smile

si on utilise des goto pour ça en C, c'est uniquement par ce que le langage ne propose pas mieux hein, heureusement que tous les langages ne sont pas contraints par un tel niveau de limitation… tongue

Putain ! yikes

>>> print('i',4)
i 4

(C’est du Python 3.0.)

Mais j’veux la virer, s’te putain d’espace ! mad

alors n'utilise pas cette forme, je pense que tu veux la forme à la printf…

>>> print('i%d' % 4)
i4

Bon, en revanche il y a un truc cool en python, c’est la concaténation automatique des chaînes inscrites dans le code (comme en C tongue). Pas besoin d’utiliser un opérateur pour ça, et là on a de la vraie flexibilité. big_smile

ouais et les chaines qui trainent dans le vide sont des instructions valides, donc on peut utiliser ça pour commenter simplement des bouts de code. (""" """)

En fait, Python a ses qualités, mais il manque aussi de cohérence en certains points. Et une nouveauté de Python 3.1 est vraiment très conne et chiante.
Mais c’est avant tout une vision de la programmation assez différente de celle du C. Ça va me demander un petit temps d’adaptation.

laquelle?

Sinon pour la différence c'est sur que c'est différent, mais c'est pour le mieux à mon avis, et le cerveau d'un développeur doit être souple…

gnuuat a écrit :
from __future__ import print

print('Plop !')

Et sinon j'ai une question en Python, plus précisement sur les objets :
J'ai une classe characters, qui doit hérité d'une classe species... Et je ne sais pas si le mieux est de faire une classe species dans laquelle on définit des méthode suivant si on choisi l'espèce, ou si le mieux est de définir plusieurs classes d'espèces différentes, et de faire hériter l'espèce choisie par la classe characters...

D'autant plus qu'en Python, je sais qu'une classe peut hériter de plusieurs classes, mais je ne sais pas si elle peut hériter d'une seule classe parmis plusieurs possibles...

class Cat:
    pass

class Dog:
    pass

class Characters(Cat, Dog):
    __init__(self, species='cat'):
        if species == 'cat':
            # heriter de Cat au lieu de Dog
        else:
            #heriter de Dog au lieu de Cat

j'aurais fais de la composition plus que de l'héritage dans ce cas, ça évite le soucy…

Hors ligne

#432 Le 24/06/2010, à 00:54

tshirtman

Re : /* Topic des codeurs couche-tard [1] */

grim7reaper a écrit :

Allez, avant de dodo je vous offre cette émulation de "wc -l" en Perl (One Line bien sûr, c'est un langage sérieux le Perl tongue)

perl -lne '}{ print $.'

ou (plus rapide, mais plus long de trois caractères)

perl -ne '}{ print "$.\n"'

L'astuce est basé sur l'un des opérateurs secrets du Perl, ici The Eskimo Greeting Operator (il y avait une vidéo des Journées Perl 2009 où ils en présentaient mais pas moyen de retrouver un lien valide, si j'avais su je ne l'aurais pas supprimé >_<").

Allez, sur ce je glob et BN World !

super, c'est vraiment à ça qu'on juge un langage lol

(surtout que question lisibilité…)

>>> a=0
>>> while(raw_input()):
             a+=1
>>> print a

Hors ligne

#433 Le 24/06/2010, à 01:02

nesthib

Re : /* Topic des codeurs couche-tard [1] */

.


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#434 Le 24/06/2010, à 01:04

grim7reaper

Re : /* Topic des codeurs couche-tard [1] */

@tshirtman : Tu est jaloux parce que Python ne peut pas en faire autant en si peu de caractère tongue.

Le but d'un One Line ce n'est pas la lisibilité (au contraire), c'est la concision (si on doit la découvertes de beaucoup d'opérateurs secrets aux golfeurs ce n'est pas pour rien).

Sinon, celui ci n'est pas vraiment obfusqué, il faut juste connaître les options passées à l'interpréteur et la variable "$.".
J'aurais pu vous sortir le One Line pour déterminer la primalité d'un nombre avec une regexp et là OK, ce n'est pas clair ^^.

Et sinon, contrairement à ce que disent les mauvaises langues, en Perl on peut faire du code propre et maintenable par une autre personne que le développeur (même dans des programmes de taille respectable, j'en ai fait un et il est encore maintenu et modifié aujourd'hui, et pas par moi).
C'est le dev qui est crade, pas le langage wink.

Et puis bon, pour le traitement de texte on a pas encore fait mieux que le Perl…

Bon bah du coup : score += 5;
big_smile

Dernière modification par grim7reaper (Le 24/06/2010, à 01:05)

Hors ligne

#435 Le 24/06/2010, à 01:06

helly

Re : /* Topic des codeurs couche-tard [1] */

nesthib a écrit :

.


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#436 Le 24/06/2010, à 01:08

edge_one

Re : /* Topic des codeurs couche-tard [1] */

ça sert à quoi un opérateur secret?

#437 Le 24/06/2010, à 01:12

helly

Re : /* Topic des codeurs couche-tard [1] */

C'est un secret cool


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#438 Le 24/06/2010, à 01:14

edge_one

Re : /* Topic des codeurs couche-tard [1] */

helly a écrit :

C'est un secret cool

faut pas le dire j'ai trouvé la doc...

mais je ne vois pas l'utilité d'avoir des fonctions "cachés"

#439 Le 24/06/2010, à 01:23

Pylades

Re : /* Topic des codeurs couche-tard [1] */

tshirtman a écrit :

alors n'utilise pas cette forme, je pense que tu veux la forme à la printf…

>>> print('i%d' % 4)
i4

Noté (mais je me suis débrouillé avec str).

tshirtman a écrit :

ouais et les chaines qui trainent dans le vide sont des instructions valides, donc on peut utiliser ça pour commenter simplement des bouts de code. (""" """)

Je sais. big_smile

tshirtman a écrit :
Pylade a écrit :

Et une nouveauté de Python 3.1 est vraiment très conne et chiante.

laquelle?

Le troll sur 2.0. hmm

Putain ! C’est quoi cette conversion du int vers le float avec l’opérateur /, en python3 ?
Bon, je retiens, avec des int utiliser //, et avec au moins un float utiliser /. Mais c’est quand-même tordu. hmm

Bon, sinon j’ai fait le TP du SdZ (un pseudo-jeu de la roulette), et je vous livre ma solution :

#!/usr/bin/env python3.0
#coding=utf-8

import random as ran

def bet(max):
	num=-1
	while num == -1:
		try:
			num=int(input('Veuillez choisir le numéro sur lequel vous souhaitez miser : '))
			if not (num>=0 and num<=49):
				raise ValueError('wrong interval')
		except ValueError:
			print('Vous devez entrer un nombre entier compris entre 0 et 49.')
			num=-1

	bet_=0
	while bet_ <= 0:
		try:
			bet_=int(input('Veillez indiquer le montant de votre mise : '))
			if not (bet_>0 and bet_<=max):
				raise ValueError('wrong interval')

		except ValueError:
			print('Vous devez entrer un nombre entier strictement supérieur à zéro, et dans les limites de votre tapis.')
			bet_=0

	return [num, bet_]


tapis=10000
while True:
	print('Vous disposez de',tapis,'jetons pour miser.\n')
	num, bet_=bet(tapis)
	got=ran.randrange(50)
	print('\nEt le résultat est '+str(got)+'.')
	if num == got:
		print('Bravo ! Vous gagnez quatre fois votre mise, soit',4*bet_,'jetons.')
		tapis+=3*bet_
	elif num%2 == got%2:
		print('Vous avez trouvé la bonne parité, vous gagnez donc 150 % de votre mise, soit',3*bet_//2,'jetons.')
		tapis+=bet_//2
	else:
		print('Désolé, vous ne gagnez rien.')
		tapis-=bet_

	if not tapis:
		print('\nVous êtes ruiné !')
		break

	print('\nVous portez donc le montant de votre tapis à',tapis,'jetons.')
	cont=input('Continuer ? [Y/*] ')
	if not (cont == 'y' or cont == 'Y' or cont == ''):
		break
	print('\n\n')

Tshirtman, t’en penses quoi ? C’est bien dans l’esprit de python ?

Enfin, bon, sur le gros bouts de code, je suis un peu perdu : la délimitation des blocs à l’aide de la seule indentation me perturbe un peu…


“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

#440 Le 24/06/2010, à 01:23

tshirtman

Re : /* Topic des codeurs couche-tard [1] */

@tshirtman : Tu est jaloux parce que Python ne peut pas en faire autant en si peu de caractère

boarf… j'ai bien trouvé ça, mais pas moyen de dire à raw_input de prendre jusqu'a EOF et non EOL…

python -c "print len(raw_input().split('\n'))"

ou ça, mais c'es un peu longuet et ça marche pas pour 0 lignes…

import itertools
list(itertools.takewhile(lambda d: raw_input()!='' , itertools.count()))[-1]+1

fin bon…

Hors ligne

#441 Le 24/06/2010, à 01:25

tshirtman

Re : /* Topic des codeurs couche-tard [1] */

Putain ! C’est quoi cette conversion du int vers le float  avec l’opérateur /, en python3 ?
Bon, je retiens, avec des int utiliser //, et avec au moins un float utiliser /. Mais c’est quand-même tordu. hmm

perso ça ménervait de faire (a/b*1.0) pour être sur d'avoir le bon résultat, maintenant les choses sont claires…

Hors ligne

#442 Le 24/06/2010, à 01:29

Pylades

Re : /* Topic des codeurs couche-tard [1] */

tshirtman a écrit :
Pylade a écrit :

Putain ! C’est quoi cette conversion du int vers le float avec l’opérateur /, en python3 ?
Bon, je retiens, avec des int utiliser //, et avec au moins un float utiliser /. Mais c’est quand-même tordu. hmm

perso ça ménervait de faire (a/b*1.0) pour être sur d'avoir le bon résultat, maintenant les choses sont claires…

+1

C’est bon, tu m’as convaincu. smile


“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

#443 Le 24/06/2010, à 01:32

tshirtman

Re : /* Topic des codeurs couche-tard [1] */

Bon, sinon j’ai fait le TP du SdZ (un pseudo-jeu de la roulette), et je vous livre ma solution :

pas le temps de trop analyser…
juste vite fait:
utilise "if __name__ == '__main__':" pour délimiter ta fonction main, ça permet d'importer ton code depuis un autre programme ou le shell (et donc tes fonctions déclarées) sans déclencher d'effets de bords, c'est une bonne pratique…

le reste à l'air pas mal (même si on sent un peu le codeur C, derrière tout ça ^^)

bonne nuit

Hors ligne

#444 Le 24/06/2010, à 02:16

Pylades

Re : /* Topic des codeurs couche-tard [1] */

tshirtman a écrit :

utilise "if __name__ == '__main__':" pour délimiter ta fonction main, ça permet d'importer ton code depuis un autre programme ou le shell (et donc tes fonctions déclarées) sans déclencher d'effets de bords, c'est une bonne pratique…

O_o'
Mais là ce truc n’a à l’évidence absolument pas vocation à être importé. Je comprends que ça soit une bonne habitude à prendre, moi là c’est vraiment nécessaire ?

tshirtman a écrit :

le reste à l'air pas mal

Merci ! big_smile

tshirtman a écrit :

(même si on sent un peu le codeur C, derrière tout ça ^^)

tongue

Ouais, enfin bon c’est de la programmation linéaire, mais je n’ai pas encore vu la POO en python.
Et puis pour ce genre de trucs, la programmation linéaire est adaptée, je pense.

tshirtman a écrit :

bonne nuit

Bonne nuit à toi. smile


“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

#445 Le 24/06/2010, à 03:25

Pylades

Re : /* Topic des codeurs couche-tard [1] */

Glob.

Et bonne nuit à tous.


“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

#446 Le 24/06/2010, à 03:37

samυncle

Re : /* Topic des codeurs couche-tard [1] */

smile


Hello world

Hors ligne

#447 Le 24/06/2010, à 03:44

Кຼزດ

Re : /* Topic des codeurs couche-tard [1] */

Globby !


dou

Hors ligne

#448 Le 24/06/2010, à 04:41

nesthib

Re : /* Topic des codeurs couche-tard [1] */


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#449 Le 24/06/2010, à 07:45

tshirtman

Re : /* Topic des codeurs couche-tard [1] */

Mais là ce truc n’a à l’évidence absolument pas vocation à être importé. Je comprends que ça soit une bonne habitude à prendre, moi là c’est vraiment nécessaire ?

et si quelqu'un aime bien ta fonction "bet"? (ouais je sais pas probable, mais bon, on va dire tongue)

Pour l'OOo, c'est sûr qu'elle s'impose pas ici (ni fréquemment en fait), mais elle aurait pus être sympa pour rendrre le programme plus extensible smile

Hors ligne

#450 Le 24/06/2010, à 09:42

Compteur du TdCCT

Re : /* Topic des codeurs couche-tard [1] */

Scores totaux, depuis le début :

1) 591    samuncle
2) 520    nesthib
3) 515    Pylade
4) 473+5  grim7reaper ** bonus +5 pour avoir répondu à ce post : ./viewtopic.php?pid=3486252#p3486252 **
5) 402    mathieuI
6) 271    cm-t
7) 231    helly
8) 167    gnuuat
9) 121    ǤƦƯƝƬ
10) 112    tshirtman
11) 93    petifrancais
12) 69    \\Ouranos//
13) 42    pierguiard
14) 37    ilagas
15) 32    Lagierl
16) 30    keny
17) 25    GentooUser
18) 23    Kanor
19) 19    Le Rouge
20) 18    Ph3nix_
21) 14    kouskous
22) 12    stratoboy
22) 12    sailing
24) 11    edge_one
25) 10    CROWD
25) 10    Toineo
25) 10    NutMotion
28) 9    xapantu
29) 8    Mornagest
30) 7    Vista
31) 6    Zeibux
31) 6    Р'tite G☢gole :mad:
33) 5    timsy
34) 4    danychou56
34) 4    Neros
34) 4    Biaise
37) 3    gulp
38) 1    ceric
38) 1    pfriedK
38) 1    geenux

chart?chs=675x280&cht=p3&chco=d80020,d88000,ffd840,20d820,2080ff,101080,a020d8&chf=bg,s,fbf9f4&chl=00h%20-%2000h59|01h%20-%2001h59|02h%20-%2002h59|03h%20-%2003h59|04h%20-%2004h59|09h%20-%2009h59|16h%20-%2016h59|17h%20-%2017h59|18h%20-%2018h59|19h%20-%2019h59|20h%20-%2020h59|21h%20-%2021h59|22h%20-%2022h59&chd=t:12,11,1,3,1,2,2,2,6,5,4,3,1&chp=1.6&chtt=R%C3%A9partition%20des%20posts&chts=606060,16chart?chs=675x250&cht=bvs&chxt=x,y&chds=0,20&chxr=1,0,20&chf=b0,lg,0,803000,0,ffc080,1|bg,s,fbf9f4&chxl=0:|05h|06h|07h|08h|09h|10h|11h|12h|13h|14h|15h|16h|17h|18h|19h|20h|21h|22h|23h|00h|01h|02h|03h|04h&chxp=0,0.7,4.9,9.1,13.2,17.3,21.5,25.6,29.8,33.9,38,42.2,46.3,50.5,54.6,58.8,62.9,67,71.2,75.3,79.4,83.6,87.7,91.8,96&chd=t:0,0,0,0,2,0,0,0,0,0,0,2,2,6,5,4,3,1,0,12,11,1,3,1&chm=N,803000,0,-1,12&chtt=|Nombre%20de%20posts%20par%20heure&chts=606060,16


Codez-vous trop tard le soir ?
Demandez au Compteur du TdCCT pour le savoir !

J’ai été généreusement codé par tshirtman ; d’ailleurs, voici mon code source. TdCCT CEP : ./viewtopic.php?pid=3493579#p3493579 (p3492608).

Hors ligne