#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
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')
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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";
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 )
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 : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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] */
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.
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…
Putain !
>>> print('i',4) i 4
(C’est du Python 3.0.)
Mais j’veux la virer, s’te putain d’espace !
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
). Pas besoin d’utiliser un opérateur pour ça, et là on a de la vraie flexibilité.
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…
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] */
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
)
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
(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 : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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 .
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 .
Et puis bon, pour le traitement de texte on a pas encore fait mieux que le Perl…
Bon bah du coup : score += 5;
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] */
.
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
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] */
C'est un secret
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] */
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).
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.
Pylade a écrit :Et une nouveauté de Python 3.1 est vraiment très conne et chiante.
laquelle?
Le troll sur 2.0.
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.
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] */
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.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.
“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] */
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 ?
le reste à l'air pas mal
Merci !
(même si on sent un peu le codeur C, derrière tout ça ^^)
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.
bonne nuit
Bonne nuit à toi.
“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] */
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 : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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 )
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
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
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