print ("This program reads an unsigned binary number of arbitrary length
\nand tries to compute the decimal equivalent. The program reports an error
\nif the input number contains characters other than 0 and 1.")
dec = 0
bin = 0
factor = 1
print ("Enter the binary number: ")
bin = int(input())
while(bin > 0):
if((bin % 10) == True):
dec += factor
bin //= 10
factor = factor * 2
else:
print("unrecognized bit:")
print ("I think your binary number in decimal form is: " ,dec)
Dies ist mein Code für ein Programm, das eine Binärzahl vom Benutzer in eine Dezimalzahl konvertieren soll. Es funktioniert gut, aber ich versuche, eine "else" -Anweisung hinzufügen, die "unerkanntes Bit" drucken wird, wenn der Benutzer eine andere Zahl als 0 oder 1 eingibt. Es funktioniert, aber das Programm druckt "Unbekanntes Bit", auch wenn Benutzer hat nur 0 und 1 eingegeben. Dies sollte nicht passieren. Siehe auch Bild bezogen. Ich habe 12343 eingegeben, um das Programm zu testen, und es sagt Unerkanntes Bit, das gut ist, aber es nimmt auch die "1" in dieser Zahl und konvertiert es in 16, was nicht passieren sollte, sollte es einfach unerkanntes Bit sagen. Ich denke, diese beiden Probleme sind einfach zu beheben, aber ich bin mir nicht sicher. Vielen Dank!Einfache Python: über Struktur des Codes
Der Einzug des Codes in Ihrer Frage ist vermasselt-bitte [bearbeiten] Sie Ihre Frage und beheben Sie es. – martineau