Ce qui est bien adapté au cas présent qui est d'entrer des entiers. Sur la 3.2, la présence d'espaces ou de tabulations finales ne gène pas la conversion int() tant qu'il y un nombre avant, mais génère une erreur (la même qu'avec '\r') quand il n'y en a pas!
Le contructeur int se comporte as documented (i.e. assez cohérent avec les différentes versions de Python dans la nature).
int([x[, base]])¶
Convert a string or number to a plain integer. If the argument is a string, it must contain a possibly signed decimal number representable as a Python integer, possibly embedded in whitespace.
note: dans ce contexte whitespace n'est pas limité au caractère '\x20'
Le bug porte sur la fonction "input" / Windows qui retourne la fin de ligne alors qu'elle ne devrait pas. Je conviens que pour récupérer des entiers .rstrip suffirait mais, pour le cas général, çà en fait beaucoup "trop".
- W
Partager