OVH Cloud OVH Cloud

goto en python

36 réponses
Avatar
jean-michel
Dans le niouze anglais, j'ai trouvé 2 messages qui intéresseront ceux qui
veulent le GOTO en python.
Beurk diront certains.
Mais ceux qui essayent de migrer de vieilles appli en GW-Basic ou autre
pourraient bien apprécier...

J'ai pas tout compris dans le premier, je vous le livre tel que:
----------------------------------------------------------------------------
-------------------------------
On peut utiliser le goto seulement si on programme avec des numéros de
ligne:
"""
10 import sys
20 real_stdout = sys.stdout
30 class fake_stdout(object): pass
40 fake_stdout.write = lambda x, y: None
50 sys.stdout = fake_stdout()
60 import this
70 sys.stdout = real_stdout
80 d = {}
90 c = 65
100 i = 0
110 d[chr(i+c)] = chr((i+13) % 26 + c)
120 if i == 26: goto(150)
130 i += 1
140 goto(110)
150 if c == 97: goto(180)
160 c = 97
170 goto(100)
180 print "How zen it is:"
190 print "".join([d.get(c, c) for c in this.s])
"""
z = dict((int(x[0]), " ".join(x[1:])) for x in (y.split() for y in (__doc__
or _).strip().splitlines())); k = [0] + sorted(z.keys()); m = dict((b,a) for
a,b in enumerate(k)); l = k[1]

def goto(n): global l; l = k[m[n]-1]

while l and l <= k[-1]: exec z[l]; l = l != k[-1] and k[m[l]+1]
--
Michael Hoffman
----------------------------------------------------------------------------
-------------------------------
Le deuxième est un lien vers un module qui ajoute le goto à python.
http://entrian.com/goto/index.html
Je n'ai pas vérifié si ça marche.
----------------------------------------------------------------------------
-------------------------------
++jm

10 réponses

1 2 3 4
Avatar
Do Re Mi chel La Si Do
Bonsoir !

Tu connais Ook! ? C'est plutôt rare. Dans le genre, j'ai bien aimé
whitespace (pour lequel j'ai fait un interpréteur visuel), et HQ9++ (parmi
tous les langages informatiques, c'est le langage le plus facile à
apprendre).

J'ai d'ailleurs fait une page sur quelques uns de ces langages :
http://mclaveau.com/esolang

@-salutations
--
Michel Claveau
Avatar
jean-michel
"Gilles Lenfant" a écrit dans le message de
news:420e172f$0$806$
Dans le niouze anglais, j'ai trouvé 2 messages qui intéresseront ceux
qui


veulent le GOTO en python.
Beurk diront certains.
Mais ceux qui essayent de migrer de vieilles appli en GW-Basic ou autre


Super !

Comment faire du Python (presque) aussi inmaintenable et illisible que
du GWBasic ;)

Au prochain épisode : comment se passer des classes, de la gestion des
exceptions, limiter les symboles à 2 caractères, limiter la mémoire
utilisable à 64Ko, etc, etc...

C'est beau le progrès !

Merci pour le procès d'intention ! Le but du post était simplement de rendre

service.

Plus sérieusement, pour migrer une vieille (probablement plus de 20 ans)
application GWBasic en Python (ou autre langage digne de ce nom), il est
préférable de reprendre à zéro depuis les specs (if any). A long terme
cette approche est plus payante.

--
Gilles


Et tu as certes raison: refaire tout de zéro est une approche où il faut
payer plus ;-)
++jm


Avatar
Do Re Mi chel La Si Do
Et aussi, j'avais trouvé une pépite : le langage PATH, dont la seule
implémentation est faite en Python (l'interpréteur fait 10 ko).
PATH est une sorte de BrainFuck bidimentionnel.


Voici l'adresse :

http://pathlang.sourceforge.net



@-salutations
--
Michel Claveau
Avatar
Do Re Mi chel La Si Do
Bonsoir !

Il n'y a pas de procès d'intention. On avait bien compris que le message
était plus intéressant par l'étude de l'implémentation en Python, que par
l'usage possible.

En tous cas, perso, j'ai apprécié ce message, qui sort un peu de
l'ordinaire.

@-salutations
--
Michel Claveau
Avatar
Loïc Joly
Do Re Mi chel La Si Do wrote:

Et aussi, j'avais trouvé une pépite : le langage PATH, dont la seule
implémentation est faite en Python (l'interpréteur fait 10 ko).
PATH est une sorte de BrainFuck bidimentionnel.


Voici l'adresse :

http://pathlang.sourceforge.net


PATH is a two-dimensional programming language that combines the power
of Brainf*ck with the ease of Befunge.

Ca fait peur...

--
Loïc

Avatar
bruno modulix
Loïc Joly wrote:
Do Re Mi chel La Si Do wrote:

Et aussi, j'avais trouvé une pépite : le langage PATH, dont la seule
implémentation est faite en Python (l'interpréteur fait 10 ko).
PATH est une sorte de BrainFuck bidimentionnel.


Voici l'adresse :

http://pathlang.sourceforge.net



PATH is a two-dimensional programming language that combines the power
of Brainf*ck with the ease of Befunge.


MDR

Ca fait peur...


N'est-ce pas ?-)

--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in ''.split('@')])"


Avatar
bruno modulix
Do Re Mi chel La Si Do wrote:
Bonsoir !

Tu connais Ook! ? C'est plutôt rare.


Je suis un fan de longue date de Terry Pratchett, ceci explique
peut-être cela ?-)

Dans le genre, j'ai bien aimé
whitespace (pour lequel j'ai fait un interpréteur visuel),


Arf !

et HQ9++ (parmi
tous les langages informatiques, c'est le langage le plus facile à
apprendre).

J'ai d'ailleurs fait une page sur quelques uns de ces langages :
http://mclaveau.com/esolang


Le menu qui part se planquer en dessous de la page, c'est un bug ou une
fonctionnalité ?-) (mozilla 1.7.5/linux).

@-salutations
@++


--
bruno desthuilliers
ruby -e "print ''.split('@').collect{|p|
p.split('.').collect{|w| w.reverse}.join('.')}.join('@')"
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in ''.split('@')])"

Avatar
bruno modulix
jean-michel wrote:
"Gilles Lenfant" a écrit dans le message de
news:420e172f$0$806$


Dans le niouze anglais, j'ai trouvé 2 messages qui intéresseront ceux



qui

veulent le GOTO en python.
Beurk diront certains.
Mais ceux qui essayent de migrer de vieilles appli en GW-Basic ou autre


Super !

Comment faire du Python (presque) aussi inmaintenable et illisible que
du GWBasic ;)

Au prochain épisode : comment se passer des classes, de la gestion des
exceptions, limiter les symboles à 2 caractères, limiter la mémoire
utilisable à 64Ko, etc, etc...

C'est beau le progrès !



Merci pour le procès d'intention ! Le but du post était simplement de rendre
service.


L'intention est louable... Mais le but est-il réellement atteint ?-)

--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in ''.split('@')])"



Avatar
Amand Tihon
Do Re Mi chel La Si Do wrote:

J'ai d'ailleurs fait une page sur quelques uns de ces langages :
http://mclaveau.com/esolang


Il manque mon préféré (d'un point de vue académique, s'entend), le pire de
tous : le Malbolge.

http://en.wikipedia.org/wiki/Malbolge

Morceaux choisis :
« The peculiarity of Malbolge is that it was designed to be the worst
possible (most difficult and esoteric) programming language. »

« Malbolge was so difficult to understand when it arrived that it too k two
years for the first Malbolge program to appear. »

--
Amand Tihon

Avatar
Do Re Mi chel La Si Do
Bonjour !

Désolé pour le comportement de la page, mais mon site est prévu pour
Internet Explorer.
Il faut dire que je développe aussi des outils qui ne fonctionnent que sur
IE et ses extensions/dérivés.

@-salutations
--
Michel Claveau
1 2 3 4