3240

Même le batch propose un for embarrassed (un autre embarrassed)

3241

Arvi89 (./3239) :
pas de for($i=0;$i<$var;$i++)

Doublement impossible.
Quel serait l’intérêt de proposer deux syntaxes différentes pour faire la même chose ? Le for sert déjà à parcourir un itérable (for i in range(var) ), et Python déconseille très fortement d’avoir deux syntaxes différentes pour la même chose.
Et en pratique, on fait très peu de for i in range(var), ce qui diminue encore l’intérêt de la syntaxe que tu proposes.

Petite statistique personnelle : sur 113 000 utilisations de for (pas que mon code), il y a à peine 6% de "for i in range(var)" correspondant au "for (i=0, i < var; i++)".
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

3242

Quoi ?
Bah ils n'avaient qu'à faire une itération avec une autre syntaxe, comme foreach par exemple...

Encore une fois, cite moi un seul autre langage où il n'y a pas de for (comme en C) ou de i++, pour moi c'est juste du bs pour vouloir se démarquer sans vraie raison.

3243

Mais quel serait l’intérêt d’ajouter une syntaxe qui fait doublon avec une syntaxe plus générique, pour une structure qui ne sert quasiment jamais dans la vraie vie (et ta syntaxe servirait d’autant moins qu’elle serait un doublon) et qui violerait les principes de base de Python ?

Le for de Python est bien plus utile, ce n’est pas juste pour se démarquer qu’il a été conçu ainsi…
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

3244

Mm, peut-être je comprend mal alors.

J'utilise régulièrement en php des for à la place de foreach parce que j'en ai besoin.

Ce que je veux dire, c'est pourquoi en python, il n'ont pas fait un for et un foreach, où le for est comme dans beaucoup de langages (variables; condition; ce qui se passe à chaque loop, pas forcément i++), et le foreach incrémente à chaque fois la clé du tableau.

En quoi ça aurait posé un problème ? (tout comme le i++)

3245

Malheureusement, Python suit le dogme "il n'y a qu'une seule manière [de faire une opération donnée]", ce qui est utilisé comme argument bancal pour écraser presque tout sucre syntaxique. (Je dis "presque" parce qu'il y a bien du sucre syntaxique aussi en Python quand les concepteurs ont retenu ça la manière "la plus propre" et, du coup, découragent la notation basique équivalente. Du coup, la maxime n'est même pas suivie de manière cohérente.)
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

3246

Arvi89 (./3242) :
Encore une fois, cite moi un seul autre langage où il n'y a pas de for (comme en C) ou de i++, pour moi c'est juste du bs pour vouloir se démarquer sans vraie raison.
C'est aussi le cas de Rust par exemple. Personnellement, ça ne me manque pas.

Kevin Kofler (./3245) :
Malheureusement, Python suit le dogme "il n'y a qu'une seule manière [de faire une opération donnée]", ce qui est utilisé comme argument bancal pour écraser presque tout sucre syntaxique.
Ce qui a quand même ses avantages. A l’opposé se cette philosophie, il y a Perl qui est infâme à cause de l'abus de sucre syntaxique.
avatar

3247

Arvi89 (./3244) :
Ce que je veux dire, c'est pourquoi en python, il n'ont pas fait un for et un foreach, où le for est comme dans beaucoup de langages (variables; condition; ce qui se passe à chaque loop, pas forcément i++), et le foreach incrémente à chaque fois la clé du tableau.
* parce que cette structure n'est jamais utilisée en Python (je tombe sur 5% d'utilisation, et je suis surpris que ça soit aussi élevé)
* parce que ça contredit les principes de Python
* parce que ça fait doublon
* parce que KK le ferait, ce qui montre bien que c'est absurde

Quand tu fais un
for($i = 0; $i < $var; $i++) { $x = $tableau[$i]; echo $x; }la traduction en Python n'est pas
for i in range(len(tableau)): x = tableau[i] print(x)mais
for x in tableau: print(x)=> code plus clair, plus concis, plus rapide

Quand tu fais un
for($i = 0; $i < $var; $i++) { $tableau[$i] = func($autre_tableau[$i]); }la traduction en Python n'est pas
for i in range(len(autre_tableau)): tableau[i] = func(autre_tableau[i])mais
tableau = [func(x) for x in autre_tableau]



En quoi ça aurait posé un problème ? (tout comme le i++)
* parce que cette structure n'est jamais utilisée en Python
* parce que ça contredit les principes de Python (il y a déjà le += 1)
* parce que ça fait doublon
* parce que contrairement au += qui est utilisable avec n'importe quel type, le ++ n'a de sens que pour les entiers
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

3248

flanker (./3247) :
mais
tableau = [func(x) for x in autre_tableau]
Ou bien tableau = map(func, autre_tableau), puisqu'il n'y a qu'une seule façon d'écrire la même chose grin
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

3249

(rôh ce coup bas grin)
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

3250

flanker (./3247) :
* parce que KK le ferait, ce qui montre bien que c'est absurde
vtff
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

3251

flanker (./3247) :
tableau = [func(x) for x in autre_tableau]
Voilà exactement le genre de syntaxe obscure dont je parlais quand je disais:
Kevin Kofler (./3245) :
Je dis "presque" parce qu'il y a bien du sucre syntaxique aussi en Python quand les concepteurs ont retenu ça la manière "la plus propre" et, du coup, découragent la notation basique équivalente. Du coup, la maxime n'est même pas suivie de manière cohérente.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

3252

flanker (./3247) :
* parce que contrairement au += qui est utilisable avec n'importe quel type, le ++ n'a de sens que pour les entiers
[kevin@desktop64 ~]$ cat dblincrtest.c
#include <stdio.h>

int main(void)
{
  double x;
  for (x = 0.; x < 10.; x++) {
    printf("%lf\n", x);
  }

  return 0;
}
[kevin@desktop64 ~]$ gcc -std=c11 -pedantic-errors -Wall -Wextra -Wwrite-strings -Os -fomit-frame-pointer -s dblincrtest.c -o dblincrtest
[kevin@desktop64 ~]$ ./dblincrtest
0.000000
1.000000
2.000000
3.000000
4.000000
5.000000
6.000000
7.000000
8.000000
9.000000
(J'ai rajouté -std=c11 -pedantic-errors pour montrer que c'est bien conforme au standard actuel. Ça compile et fonctionne évidemment aussi sans ces flags ou en -std=c99. -std=c90 ne connaît pas %lf.)

[EDIT: faute d'accord corrigée]
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

3253

Ça reste conceptuellement une mauvaise idée d'utiliser ça avec des flottants, même si ça fonctionne tant que les nombres sont suffisamment petits.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

3254

Kevin Kofler (./3252) :
flanker (./3247) :
* parce que contrairement au += qui est utilisable avec n'importe quel type, le ++ n'a de sens que pour les entiers
Oui, ça a aussi du sens avec les flottants, mais le problème reste toujours là pour les autres types : string, listes, dictionnaires, n'importe quelle autre classe.

+= peut avoir du sens pour n'importe quelle classe (à condition qu'elle définisse cette opération, bien sûr), alors que ++ n'a de sens que pour les classes qui définissent l'opération "x = x + 1". Ça limite quand même vachement son intérêt...


Zeph (./3248) :
Ou bien tableau = map(func, autre_tableau), puisqu'il n'y a qu'une seule façon d'écrire la même chose grin
C'est petit, ça grin (mais clairement, c'est une incohérence qui vient essentiellement du fait que les listes définies en intension sont arrivées tardivement dans Python)
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

3255

flanker (./3254) :
Oui, ça a aussi du sens avec les flottants, mais le problème reste toujours là pour les autres types : string, listes, dictionnaires, n'importe quelle autre classe.
++ a aussi un sens pour les itérateurs. tongue
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

3256

Zeph (./3248) :
flanker (./3247) :
mais
tableau = [func(x) for x in autre_tableau]
Ou bien tableau = map(func, autre_tableau), puisqu'il n'y a qu'une seule façon d'écrire la même chose grin

Les deux codes ne font pas la meme chose:

>>> a = [0,1,2,3,4,5,6]
>>> def func(x):
...   return x*2
>>> aa = [func(x) for x in a]
>>> aaa = map(func, a)
>>> aa
[0, 2, 4, 6, 8, 10, 12]
>>> aaa
<map object at 0x02BFE2B0>
>>> type(aa)
<class 'list'>
>>> type(aaa)
<class 'map'>
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

3257

(oui, je voulais le préciser : le comportement a changé avec Python 3, map renvoie maintenant un générateur et non une liste)
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

3258

Kevin Kofler (./3255) :
flanker (./3254) :
Oui, ça a aussi du sens avec les flottants, mais le problème reste toujours là pour les autres types : string, listes, dictionnaires, n'importe quelle autre classe.
++ a aussi un sens pour les itérateurs. tongue
On en revient toujours au même point : c'est une syntaxe inutile en Python, donc hehe
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

3259

./3257 : même remarque avec des () au lieu des [] alors embarrassed
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

3260

list(map(func, a)) pour réaliser la liste alors.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

3261

Zeph (./3259) :
./3257 : même remarque avec des () au lieu des [] alors embarrassed
!slap Zeph

embarrassed
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

3262

(nan mais en vrai je ne connais pas un seul langage sérieux qui n'a pas accumulé des défauts de jeunesse, et Python s'en tire plutôt pas mal ^^)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

3263

Si, moi ! Le PHP !


(hem, pardon :3)
avatar

3264

citrouille
avatar
pedrolane stoppe la chute des chevaux

La DNC-Team : un club plein de mystères

3265

ici aussi ? citrouille
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

3266

et pourquoi pas ?

citrouille
avatar
pedrolane stoppe la chute des chevaux

La DNC-Team : un club plein de mystères

3267

C'est mal ! citrouille
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

3268

En même temps, les règles sont floues (on risque toujours une bombe ?) citrouille
avatar

3269

il n'y a plus de flood control visible en tous cas citrouille
avatar
pedrolane stoppe la chute des chevaux

La DNC-Team : un club plein de mystères

3270

Zeph (./3262) :
(nan mais en vrai je ne connais pas un seul langage sérieux qui n'a pas accumulé des défauts de jeunesse, et Python s'en tire plutôt pas mal ^^)
C'est gentil de me rassurer grin

Python 3 a fait beaucoup de bien à ce niveau-là (même si la transition a été longue), maintenant ça fait mal de devoir refaire du Python 2 (ne serait-ce que la gestion catastrophique des string).

citrouille
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant