Wie wahrscheinlich schon oft gehört:
Ich bin neu hier, im Thema Python auch erst ein paar Tage und nehme gerade an einem Online-Kurs für die Programmierung mit Python teil.
Das ist auch mein 1. Beitrag. Vergebt mir also, wenn ich noch nicht dem Gusto des Forums entsprechen sollte.
Auch habe ich bisher nichts finden können, was mir bei der Problematik hilft!
KEINE ANGST!
Ich möchte meine Hausaufgaben nicht von euch gemacht bekommen.
Ich möchte nicht verstehen, wie ich Menschen dirigiere, sondern wie Python funktioniert.
Trotzdem geht es um eine "Hausaufgabe".
Das Programm, so wie ich es geschrieben habe, funktioniert zumindest schonmal.
Ob es schön ist?! Das kann ich leider noch nicht beantworten da mir die Erfahrung fehlt.
Aber es erfüllt die Kriterien.
Genug geschwafelt! Ich freue mich über eure Unterstützung!
Die Aufgabe die gestellt wurde:
Erstelle ein Programm das Dezimalzahlen in beliebige andere Zahlensysteme umrechnen kann.
(Es sollte sich aber auf die Zahlen von Einschließlich 2 bis Einschließlich 9 beschränkt werden.)
Code: Alles auswählen
"""*******************************************************
Dualzahl in beliebige Zahlensysteme
*******************************************************"""
# Initialisierung
wert = 0
faktor = 0
gelungen = False
# leere Liste erstellen
reste = []
# Schleife 1 - Umrechnungswert einlesen und prüfen
while gelungen is False:
try:
wert = int(input("Bitte geben Sie den Wert ein der umgerechnet werden soll: "))
except ValueError:
print("Die Eingabe war ungültig.")
else:
gelungen = True
# Schleife 2 und 3 Umrechnungsfaktor einlesen und prüfen
while faktor < 2:
faktor = int(input("Bitte geben Sie einen Faktor ein mit dem umgerechnet werden soll"))
while faktor > 9:
faktor = int(input("Bitte geben Sie einen Faktor ein mit dem umgerechnet werden soll"))
# Berechnung
while wert != 0:
reste.append(wert % faktor)
wert = wert // faktor
# Ausgabe
reste.reverse()
for bit in reste:
print(bit, end="")
Trotzdem habe ich noch andere Lösungsideen die ich aber nicht umgesetzt bekomme.
Und zwar nerven mich die 2. und 3. Schleife.
Die würde ich gerne zusammenfassen.
Mein Denkansatz war zum einen, eine while-Schleife zu konstruieren die die beide Bedingungen also faktor < 2 und faktor > 9 zusammenführt.
In etwa so:
Code: Alles auswählen
while faktor < 2 and faktor > 9:
faktor = int(input("Bitte geben Sie einen Faktor ein mit dem umgerechnet werden soll"))
Warum nicht?
Gibt es einen ähnlichen Ansatz der funktioniert?
Zum anderen wäre meine Idee, für die Zahlen 2-9, eine Liste zu erstellen.
Dann wird ein Faktor eingegeben und anschließend überprüft, ob dieser in der Liste vorkommt.
Wenn ja: wird die Berechnung gestartet,
wenn nein: kommt eine Fehlermeldung und man muss den Faktor erneut eingeben.
Ähnlich wie bei der 1. Schleife, nur auf die Liste bezogen.
Und das bekomm ich überhaupt nicht umgesetzt.
Ich freue mich über Rat und Denkanstöße, da ich langsam verzweifele.