Wie multipliziere ich zwei Zahlen nur mit Addition bei Python?
ALso, ich möchte ein Programm in Python schreiben, das zwei Zahlen multipliziert, jedoch möchte ich nur die Addition als mathematische Methode benutzen. Könnt ihr bitte mir behilflich sein?
4 Antworten
![](https://images.gutefrage.net/media/user/Sturmwolke/1444744495_nmmslarge.jpg?v=1444744495000)
Ein Vorschlag (gibt sicher noch andere Möglichkeiten):
Du definierst drei Variablen:
- Ergebnis (belegst Du vor Schleifenbeginn mit 0 vor)
- Multiplikator
- Multiplikand
Dann fragst Du die gewünschten Variablen Multiplikator/Multiplikand (oder a und b) ab.
- Welche Zahl soll multipliziert werden?
- Mit welchem Faktor soll die Zahl multipliziert werden?
(Jeweils mit passendem Eingabefeld)
Dann bastelst Du eine while-Schleife, wie z.B.
while a <= Multiplikator
In die Schleife packst Du die Addition, z.B. Ergebnis = Ergebnis + Multiplikand
else print Ergebnis
An der Syntax mußt Du feilen, ich bin kein Python-Spezialist.
![](https://images.gutefrage.net/media/user/Sturmwolke/1444744495_nmmslarge.jpg?v=1444744495000)
![](https://images.gutefrage.net/media/user/Sturmwolke/1444744495_nmmslarge.jpg?v=1444744495000)
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
Das kommt darauf an, woher du die Eingaben bekommst.
Aber wie es im Prinzip geht hat er doch schon beschrieben, wo hängt es denn noch?
![](https://images.gutefrage.net/media/user/Sturmwolke/1444744495_nmmslarge.jpg?v=1444744495000)
Kleiner Nachtrag: Das Progrämmchen funktioniert so nur mit ganzzahligen Faktoren.
![](https://images.gutefrage.net/media/default/user/10_nmmslarge.png?v=1551279448000)
Hast du ne Ahnung wie ich es mit Java mache?
![](https://images.gutefrage.net/media/user/Sturmwolke/1444744495_nmmslarge.jpg?v=1444744495000)
![](https://images.gutefrage.net/media/default/user/11_nmmslarge.png?v=1551279448000)
Wenn ich dich richtig verstanden habe, willst du die Multiplikation durch die Addition ersetzen. Beispiel : 4*5=4+4+4+4+4=20
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
Mach doch, wo ist denn das Problem? ;) for oder while kennst du?
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
Eine recht interessante Lösung, die mir eingefallen ist:
ergebnis = sum(itertools.repeat(zahl1, zahl2))
Bei negativen Zahlen muss man sich aber noch was ausdenken ;)
![](https://images.gutefrage.net/media/user/kdd1945/1444748075_nmmslarge.jpg?v=1444748075000)
Von Python hatte ich noch nie etwas gehört, bis ich gerade Deine Frage las. jetzt habe ich bei Wikipedia gelernt, dass es eine Programmiersprache ist.
Deine eigentliche Frage scheint leicht zu beantworten: Anstelle 5x5 (Multiplikation) 5+5+5+5+5 (Addition).
Aber vielleicht hab´ ich mich ja jetzt blamiert?
Wie soll ich denn anfangen ?