Python :: Aufgabe #1 :: Lösung #17
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.
#17
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:
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
Seite 1 von 0
1
