Python :: Aufgabe #1 :: Lösung #17

33 Lösungen Lösungen öffentlich
#1

Multiplikation ohne zu multiplizieren

Anfänger - Python von Gustl - 11.11.2012 um 17:24 Uhr
Erstellen Sie ein Konsolenprogramm welches dem Benutzer auffordert 2 Zahlen einzugeben, diese sollen dann multipliziert werden, jedoch ist nur die Grundrechenart Addition erlaubt.

Wenn einer der 2 Zahlen keine Zahl ist, soll eine Fehlermeldung ausgegeben werden und der Benutzer noch einmal aufgefordert werden eine Zahl einzugeben.
#17
1x
vote_ok
von PythonIT (240 Punkte) - 19.08.2017 um 16:17 Uhr
Also ich habe das ganze jetzt nach meinem entsprechenden Hinweis in der Fragen-Sektion der Aufgabe auch für jede Länge von Kommastellen programmiert, ich hoffe, das ganze wirkt jetzt nicht zu klobig:

Quellcode ausblenden Python-Code
# additive_multiplikation.py
# (c) Copyright 2017 by PythonIT

def multiplizieren(zahl1, zahl2): # Methode zur multiplikation zweier Ganzzahlen
    ergebnis = 0
    for i in range(zahl2):
        ergebnis += zahl1
    return ergebnis


while True: # Zahleneingabe
    try:
        zahl1 = float(input("Zahl 1: "))
        zahl2 = float(input("Zahl 2: "))
        break
    except:
        print("Bitte Zahlen eingeben")

if len(str(zahl1)) <= len(str(zahl2)): # Überprüfung der Zahlenlängen, um
    zahl2, zahl1 = zahl1, zahl2        # Schleifendurchläufe zu sparen

zahl2 = str(zahl2)
l = zahl2.split(".") # Aufteilung in vor dem Komma und nach dem Komma

ganzzahl = int(l[0])

teiler = len(l[1]) # Festlegung des Teilers, um die Nachkommastellen zu berichtigen
dezimale = int(l[1])

produkt = multiplizieren(zahl1, ganzzahl) + (multiplizieren(zahl1, dezimale) / 10**teiler)

print(produkt)

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben