bin noch totaler Anfänger und erstelle gerade ein Text Menü. Das Script soll am Ende Bits in Bytes umrechnen und Bytes in KiloBytes etc. Habe schon viel Zeit auf Google verbracht, konnte bis jetzt aber nicht rausfinden warum das Script nicht richtig funktioniert. Alle Punkte sind noch nicht fertig, aber aus meiner Sicht sollte es eigentlich funktionieren. Er geht richtig in den Menüpunkt 1 und fordert einen auf die Anzahl der Bits einzugeben. Danach springt er aber wieder sofort in das Menü. Mein Gedanke war das er jegliche Eingabe als falsch deklariert und er somit in den Loop geht. Ihr kennt euch bestimmt besser aus.
Code: Alles auswählen
# Menü
def print_menu():
print ("MENU:")
print ("1. Eingabe in Bit 1")
print ("2. Eingabe in Byte 2")
print ("3. Eingabe in Kilobyte 3")
print ("4. Eingabe in Megabyte 4")
print ("5. Eingabe in Gigabyte 5")
print ("6. Eingabe in Terabyte 6")
print ("0. Programm schließen")
#def
def Byr():
fehler = True
while fehler == True:
try:
eingabe = input("Bitte Bits eingeben: ")
x = eval(eingabe)
fehler = False
except:
print ("Falsche Eingabe! Bitte nur ganze Zahlen eingeben")
byte = x / 8
print (x, "Bits entsprechen" , byte , "Bytes")
loop=True
while loop:
print_menu()
choice = input("Wählen Sie einen Menüpunkt: ")
if choice=='1':
Byr()
elif choice=='2':
print ("Bitte Anzahl Byte eingeben:")
elif choice=='3':
print ("Bitte Anzahl KiloByte eingeben:")
elif choice=='4':
print ("Bitte Anzahl MegaByte eingeben:")
elif choice=='5':
print ("Bitte Anzahl GigaByte eingeben:")
elif choice=='6':
print ("Bitte Anzahl TeraByte eingeben:")
elif choice=='0':
print ("Das Programm wurde beendet!")
loop=False
else:
print ("Es sind nur ganze Zahlen von 0 bis 6 möglich")