Ich habe eine Liste von Oktalzahlen, die ich in Dezimal konvertieren möchte. Hier ist meine Klasse mit dem, was ich bisher getan:Algorithmus zur Umwandlung von Oktalzahlen in Dezimalzahlen?
class Octal:
#Reads in the file into numberList, converting each line into an int.
def __init__(self):
list = []
file = open("Number Lists/random_numbers3.txt")
for line in file:
list.append(int(line))
self.numberList = list
file.close()
#Convert numberList to decimal
def dec_convert(self):
decimal = 0
decimalList = []
for line in self.numberList:
temp = str(line)
i = 0
while i < len(temp):
digit = int(temp[i])
item = (digit * (8 ** (len(temp) - i)))
decimal = decimal + item
i += 1
decimalList.append(decimal)
return decimalList
def get_list(self):
return self.numberList
ich in den Zahlen aus einer Datei zu lesen, die gut funktioniert. Aber ich glaube nicht, dass meine Funktion dec_convert() tatsächlich funktioniert. Es läuft einfach weiter und endet nicht.
Es sieht komplett schrecklich und schwer zu lesen, also fragte ich mich, ob es eine einfachere Möglichkeit gab, jede Oktalzahl in der Liste in eine Dezimalzahl umzuwandeln?
kann man einfach nicht 'verwenden int (num_str, Basis)' die Konvertierung zu tun? zum Beispiel 'int ("23", 8)' gibt 19, die die Zeichenfolge "23" als oktal interpretiert ist. –
Wo tun Sie erhöhen "i" in der "while" -Schleife. Kein Wunder, "es läuft weiter." –
@TomKarzes, konvertiert das nicht von Dezimal zu Oktal? Ich brauche Oktal zu Dezimal. –