Deutsch   English   Français   Italiano  
<87k0h2c2wf.fsf@izac.org>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder6.news.weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!fdn.fr!news.ortolo.eu!news.izac.org!reader
From: Benoit Izac <use.reply.to@INVALID.ADDRESS>
Newsgroups: fr.comp.lang.python
Subject: Re: =?utf-8?Q?G=C3=A9rer?= plusieurs boucles.
Date: Sat, 20 Nov 2021 15:33:52 +0100
Message-ID: <87k0h2c2wf.fsf@izac.org>
References: <AIWdndYoisELbQX8nZ2dnUU798zNnZ2d@giganews.com>
Reply-To: benoit.izac@free.fr
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Info: keg.izac.org;
	logging-data="3225861"; mail-complaints-to="usenet@izac.org"
Bytes: 2395
Lines: 51

Bonjour,

Le 20/11/2021 à 13:56, Mat a écrit dans le message
<AIWdndYoisELbQX8nZ2dnUU798zNnZ2d@giganews.com> :

> Bonjour, je suis en train ce créer un programme afin de convertir des
> bases 2, 10 et 16 entre elles.
> Pour ce faire, j'ai eu nottament besoin d'uttiliser 2 chaines.
> Je voudrais pouvoir lescontroler distinctement car a un endroit. Je fait
> breakpour arreter une boucle, et c'est l'autre qui s'arrete.
> voila mon programme avec l'endroit problematique entre #

[…]

Je n'ai pas tout lu, c'est trop compliqué, ça fait mal à la tête ;-)

[Non testé c'est juste pour donner l'idée]

def convert(nb, base_in, base_out):
    nb_int = int(nb, base_in) # on converti en un entier
    if base_out == 2:
       return bin(nb_int) # représention binaire
    if base_out == 16:
       return hex(nb_int) # représentation hexadécimale
    return nb_int

while True:
   base_entree = int(input("Base du nombre en entrée ? "))
   base_sortie = int(input("Base du nombre en sortie ? "))
   nombre_entree = input("Nombre à convertir ? ")
   print(convert(nombre_entree, base_entree, base_sortie))


Sinon, pour ton problème, je pense qu'il te faut ajouter une condition
après ton for, un truc du genre

  if tout_est_ok:
      break

avec tout_est_ok passé à True dans ton for avant ton break. Mais ça
reste très compliqué. Dès que l'on voit les répétitions

  nombre = int(input("nombre"))
  convert = int(input("convertion"))

on se dit qu'il y a un problème.

Après, tu peux t'amuser à recoder bin() et hex() pour le fun, c'est un
bon exercice.

-- 
Benoit Izac