CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[python] Input d'un nombre binaire ?

aurock
aurock
Niveau 12
24 septembre 2012 à 19:07:15

Bonjour à tous !

Je voudrais savoir si l'input est possible ?

Par exemple je rentre 101 , et il le comprend comme 5 , et pas 101 ( comme avec le int(input()) )

Donc une sorte de bin(input()) ?

Un peu d'aide s'il vous plais :)

caelacanthe
caelacanthe
Niveau 10
24 septembre 2012 à 19:08:57

impossible sans traitement de chaîne, je crois... :pf:

il faut récupérer une chaîne de caractère, parcourir ses caractères en commençant par la fin et incrémenter un résultat de la puissance de 2 correspondante si c'est un '1'. :(

Tikim
Tikim
Niveau 21
24 septembre 2012 à 19:13:49

Mais si tu fais ça tu peux prendre une chaîne, tester les deux premiers caractères de la chaîne (0x, 0b, 0d) et faire des fonctions qui convertissent le nombre en fonction de ça :o))

aurock
aurock
Niveau 12
24 septembre 2012 à 19:16:36

Ouais je vois ... Pas de moyen simple et rapide donc :o

J'avais coder a la dure jusqu'au 16 ce qui m'allais bien , mais je devoir mettre les mains dans le cambouis a ce que je vois.

Merci !

Neofungamer
Neofungamer
Niveau 21
25 septembre 2012 à 12:20:29

En fait, tu peux coder ça jusqu'a la taille que tu veux.
L'idée c'est de se dire qu'une chaine "1101010101" a une taille de 10
len(machaine)
ensuite il faut parcourir les éléments et convertir puis additionner en utilisant la puissance de 2 de l'indice en cours
2^0 = 1
2^1 = 2
2^2 = 4
...
2^n = ...

Donc produire naïvement une fonction bin() c'est très facile :D

chaine = raw_input()
somme = 0
taille = len(chaine)
for i in range(taille):
if chaine[i] == '1':
somme += 2**(taille-i-1)
print somme

ça doit faire quelque chose comme ça :)

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment