Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > fr.comp.lang.python > #3964
| From | Olivier Miakinen <om+news@miakinen.net> |
|---|---|
| Newsgroups | fr.sci.maths, fr.comp.lang.python |
| Subject | Bis: Que fait ce programme ? |
| Date | 2022-10-01 15:40 +0200 |
| Organization | There's no cabale |
| Message-ID | <th9g13$o57$1@cabale.usenet-fr.net> (permalink) |
| References | <63367bdd$0$25804$426a74cc@news.free.fr> |
Cross-posted to 2 groups.
Le 30/09/2022 à 07:17, ast a écrit :
> Devinette: Que retourne cette petite fonction python
>
> (m et n sont 2 entiers naturels)
>
>
> def f(m, n):
> while n:
> m, n = m ^ n, (m & n) << 1
> return m
Même question, en ajoutant un simple ~ à la troisième ligne :
def f(m, n):
while n:
m, n = m ^ n, (~m & n) << 1
return m
> pour ceux qui ne connaissent pas python
>
> "while n" c'est "pendant que n est non nul"
>
> ^ est l'opérateur "ou exclusif" bit à bit
> & est le "et" bit à bit
> << 1 décalage à gauche bit à bit et ajout d'un 0 à droite
>
> a, b = c, d affectation simultanée a <- c et b <- d
Toujours pour ceux qui ne connaissent pas python :
~ est l'opérateur « inverser tous les bits » (les 1 deviennent des 0
et les 0 deviennent des 1)
En particulier, si m est un nombre entier, -m est égal à (~m + 1)
--
Olivier Miakinen
Back to fr.comp.lang.python | Previous | Next — Previous in thread | Find similar
Que fait ce programme ? ast <ast@invalid> - 2022-09-30 07:17 +0200
Re: Que fait ce programme ? Olivier Miakinen <om+news@miakinen.net> - 2022-09-30 11:14 +0200
Re: Que fait ce programme ? Olivier Miakinen <om+news@miakinen.net> - 2022-09-30 11:18 +0200
Re: Que fait ce programme ? Olivier Miakinen <om+news@miakinen.net> - 2022-09-30 11:29 +0200
Re: Que fait ce programme ? ast <ast@invalid> - 2022-10-02 16:57 +0200
Re: Que fait ce programme ? Michel Talon <talon@niobe.lpthe.jussieu.fr> - 2022-09-30 11:39 +0200
Problème de l'arrêt (was: Que fait ce programme ?) Olivier Miakinen <om+news@miakinen.net> - 2022-09-30 12:53 +0200
Bis: Que fait ce programme ? Olivier Miakinen <om+news@miakinen.net> - 2022-10-01 15:40 +0200
csiph-web