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

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.
#13
vote_ok
von ah3n0bar6us (660 Punkte) - 15.07.2016 um 22:20 Uhr
Zu erst wollte ich mit der Ägyptischen Multiplikation heran gehen, aber ich finde es so einfacher.
Zwei Funktionen, eine, die die Eingabe prüft und bei Erfolg die mult() Funktion mit den Eingaben aufruft. Hier wird die erste zahl so lange mit sich selbst addiert, bis ein zähler von 1 die zweite zahl erreicht. (Zu beachten ist, dass range(a,b) von a bis b-1 geht.

Quellcode ausblenden Python-Code
#!/usr/bin/env python3
def mult(m,n):
    """ Multiplate two digits just with addition operation"""
    result = m
    for i in range(1,n):
        result += m
    return result

def getDigits():
    """ check input and forward to mult() """
    try:
        zahl1 = int(input('Zahl 1 = '))
        zahl2 = int(input('zahl 2 = '))
        print("Das Ergebnis von ",zahl1," * ",zahl2," =", mult(zahl1,zahl2))
    except ValueError:
        print("Keine Zahl, bitter erneut: ")
        getDigits()

def main():
    """
    print("Das Ergebnis von 2 * 3 =", mult(2,3))
    print("Das Ergebnis von 5 * 10 =", mult(5,10))
    """
    getDigits()

if __name__ == "__main__":
    main()


Beste Grüße,

Ah3

Kommentare:

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

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