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

#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.
Wenn einer der 2 Zahlen keine Zahl ist, soll eine Fehlermeldung ausgegeben werden und der Benutzer noch einmal aufgefordert werden eine Zahl einzugeben.
#13

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.
Python-Code
Beste Grüße,
Ah3
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.

#!/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
Seite 1 von 0
1