Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.lang.python > #3964

Bis: Que fait ce programme ?

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.

Show all headers | View raw


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 | NextPrevious in thread | Find similar


Thread

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