Python Eine Dualzahl immer mit 10 Stellen anzeigen

HeavensBlade

Ensign
Registriert
Feb. 2007
Beiträge
148
Hallo zusammen,
ich benötige in meinem Pythonskript den Binärwert einer Zahl um ihn dann über
Code:
os.system(var)
ausgeben zu können.
Dafür dürfen allerdings keinerlei sonstige Zeichen enthalten sein, weder (), [] noch ' '.
Bisher sieht mein Skript so aus:
Code:
ausschalten = 0
try:
    while ausschalten < 20:
        
        channel_raw = bin(ausschalten)
        channel_list = list(channel_raw)
        channel_seq = channel_list[2::1]
        channel_raw1 = ''
        for f in channel_seq:
            channel_raw1 = channel_raw1 + f
        print channel_raw1
        
        ausschalten = ausschalten + 1
        
except KeyboardInterrupt:
    pass

Das Ergebnis ist dann folgendes:
Code:
0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000
10001
10010
10011

Das ist soweit schonmal ganz gut. Nur brauche ich die Werte alle mit genau 10 stellen.
Das weitere Problem ist, die Werte liegen beim
Code:
print
in der Variable
Code:
channel_raw1
und das leider nicht als integer sondern string.

Wie kann ich die Binärwerte mit reichlich Nullen versehen, damit sie alle 10 stellig sind?
 
Länge des Zahlenstrings auslesen.

Wiederhole:
Wenn Länge kleiner 10, dann "".join(["0", Variable])


--> Voilà



EDIT: Bitte immer bei Python die Version mitgeben.
 
string.rjust() ist eine elegante Alternative:

Code:
        print channel_raw1.rjust(10,"0")
 
Zurück
Oben