break even berechnen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
andieseul
User
Beiträge: 13
Registriert: Dienstag 2. November 2021, 17:30

Hallo,
ich soll eine Funktion erstellen, die vier Argumente erwartet (zwei Pos. Float, zwei Pos. Integer), die den break even berechnen kann.
Ich habe dann also folgendermaßen begonnen:

def calculate_months(invest, initial_sales, growth_rate, profit):

Dann habe ich die vier Argumente untereinander angeordnet und jeweils mit float(input(".....)
oder eben int(input(".....) versehen und zum Schluss

break_even ((shares*price) + commission)/(shares)

print break_even

So weit, so gut Und dann habe ich gesehen, dass ich die input () Funktion nicht benutzen soll.
Hat jemand einen Tipp für mich? :?:
Benutzeravatar
Dennis89
User
Beiträge: 1562
Registriert: Freitag 11. Dezember 2020, 15:13

Hallo,

du brauchst an der Stelle auch kein 'input', da du die Argumente (die vier in der Klammer) beim Funktionsaufruf übergibst. Das heißt die Werte müssen vor dem Funktionsaufruf fest stehen.
Wie sieht denn die vollständige Aufgabenstellung aus?

Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
andieseul
User
Beiträge: 13
Registriert: Dienstag 2. November 2021, 17:30

Die Funktion soll die Anzahl der Monate (Pos. Int) zurückgeben, die nötig sind, um die Investition zu amortisieren.
Der Investitionsbetrag ist ein Pos.Float, die Anzahl des im ersten Monat verkauften Kaffee ist ein pos.int, Wachstumsrate nach jedem 2.Monat (pos.int, 8 bedeutet dann z. B. 8% Wachstum) und Gewinn pro verkauften Getränk (Pos.Float).
Investition ist die angeschaffte Kaffeemaschine
andieseul
User
Beiträge: 13
Registriert: Dienstag 2. November 2021, 17:30

Dennis89 hat geschrieben: Mittwoch 17. November 2021, 12:02 Hallo,

du brauchst an der Stelle auch kein 'input', da du die Argumente (die vier in der Klammer) beim Funktionsaufruf übergibst. Das heißt die Werte müssen vor dem Funktionsaufruf fest stehen.
Wie sieht denn die vollständige Aufgabenstellung aus?

Grüße
Dennis
Hallo, Dennis,
habe noch detailliertere Infos gerade gepostet.
Danke und viele Grüße
Benutzeravatar
Dennis89
User
Beiträge: 1562
Registriert: Freitag 11. Dezember 2020, 15:13

Vielleicht habe ich mich etwas falsch ausgedrückt.
andieseul hat geschrieben: Mittwoch 17. November 2021, 11:51
So weit, so gut Und dann habe ich gesehen, dass ich die input () Funktion nicht benutzen soll.
Wo sollen die Werte denn herkommen?

Hast du verstanden was ich mit Argumente beim Funktionsaufruf gemeint habe?

Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
andieseul
User
Beiträge: 13
Registriert: Dienstag 2. November 2021, 17:30

Dennis89 hat geschrieben: Mittwoch 17. November 2021, 12:46 Vielleicht habe ich mich etwas falsch ausgedrückt.
andieseul hat geschrieben: Mittwoch 17. November 2021, 11:51
So weit, so gut Und dann habe ich gesehen, dass ich die input () Funktion nicht benutzen soll.
Wo sollen die Werte denn herkommen?

Hast du verstanden was ich mit Argumente beim Funktionsaufruf gemeint habe?

Grüße
Dennis
Nicht wirklich. Ich schaue es mir zu Hause nochmal an. Melde mich dann.... :wink:
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

@andiseuel: bitte nicht die Beitrage davor im full-quote zitieren. Die stehen da schon.
andieseul
User
Beiträge: 13
Registriert: Dienstag 2. November 2021, 17:30

__deets__ hat geschrieben: Mittwoch 17. November 2021, 14:00 @andiseuel: bitte nicht die Beitrage davor im full-quote zitieren. Die stehen da schon.
Okay...sorry, bin eine totale Anfängerin :shock:
also, was die Funktion letztendlich machen soll, ist folgendes:

print(calculate_months(50.0, 10, 15, 1.5) == 4)
print(calculate_months(1000.0, 100, 20, 1.5) ==6)

Das würde gelten, wenn die Kaffeemaschine 50 € gekostet hat und ich im ersten Monat 10 Kaffee verkauft habe, die jeweils 1,50€ kosten. Das bedeutet, dass ich noch 35 € abbezahlen muss.
Während der Gewinn gleich bleibt, steigt die Anzahl der verkauften Getränke nach jedem zweiten Monat um 15%. Es dauert also folglich 4 Monate, bis sich die Investition amortisiert hat.
Im zweiten Monat verkaufe ich weitere 10 Getränke, also wieder Gesamtgewinn von 15 € und eine Restsumme von 20 €.
Im dritten Monat verkaufe ich 11 Kaffee, Gesamtgewinn von 16,50€ (10*(1 + 15/100) = 11.5) #ist das so richtig ausgedrückt?
Ich muss also noch 3,50 € abbezahlen.
P_Python
User
Beiträge: 19
Registriert: Donnerstag 11. November 2021, 19:45

Wenn du eine Funktion aufrufst und du ihr Parameter mitgibst, dann werden die Parameter der Funktion übergeben. Die Funktion, die du erstellen willst, soll ein Ergebnis zurückgeben, hier die Anzahl Monate. Dazu musst du eine return-Anweisung in der Funktion benutzen, also sowas wie 'return anzahl_monate'. Die 'anzahl_monate' berechnen sich dabei aus deinen Parameter, die du beim Aufruf mitgegeben hast.

Durch den Aufruf einer Funktion, die ein return hat, erhältst du das Ergebnis deiner Funktion, welches du dann z.B ausgeben kannst.

z.B. print(my_function(a,b,c)) # my_function(a,b,c) ist eine Beispielfunktion mit 3 Eingabeparameter und einem Ergebnis, das mit einem' return ergebnis' zurückgegeben wird
andieseul
User
Beiträge: 13
Registriert: Dienstag 2. November 2021, 17:30

P_Python hat geschrieben: Mittwoch 17. November 2021, 16:24 Wenn du eine Funktion aufrufst und du ihr Parameter mitgibst, dann werden die Parameter der Funktion übergeben. Die Funktion, die du erstellen willst, soll ein Ergebnis zurückgeben, hier die Anzahl Monate. Dazu musst du eine return-Anweisung in der Funktion benutzen, also sowas wie 'return anzahl_monate'. Die 'anzahl_monate' berechnen sich dabei aus deinen Parameter, die du beim Aufruf mitgegeben hast.

Durch den Aufruf einer Funktion, die ein return hat, erhältst du das Ergebnis deiner Funktion, welches du dann z.B ausgeben kannst.

z.B. print(my_function(a,b,c)) # my_function(a,b,c) ist eine Beispielfunktion mit 3 Eingabeparameter und einem Ergebnis, das mit einem' return ergebnis' zurückgegeben wird
Danke für Deinen Tipp.... Ich bekomme das nicht hin. Dabei ist es bestimmt popeleinfach.... Ich kriege ne Krise
Benutzeravatar
__blackjack__
User
Beiträge: 14077
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Code: Alles auswählen

def add(a, b):
    result = a + b
    return result


print(add(42, 23))

# oder

summe = add(42, 23)
print(summe)
Nur das Deine Funktion nicht `add()` heisst, mehr Argumente bekommt, und die Berechnung des Ergebnisses etwas mehr ist als zwei Zahlen zu addieren.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
andieseul
User
Beiträge: 13
Registriert: Dienstag 2. November 2021, 17:30

__blackjack__ hat geschrieben: Mittwoch 17. November 2021, 18:12

Code: Alles auswählen

def add(a, b):
    result = a + b
    return result


print(add(42, 23))

# oder

summe = add(42, 23)
print(summe)
Nur das Deine Funktion nicht `add()` heisst, mehr Argumente bekommt, und die Berechnung des Ergebnisses etwas mehr ist als zwei Zahlen zu addieren.
Danke :)
Antworten