Hej,
mein Sohn studiert jetzt im ersten Semester Politikwissenschaften und Philosophie und hat gleich einen Kurs in Python mitbekommen. Von der Schule her kannte er HTML, CSS usw. Nun soll er bis morgen Aufgaben lösen, und zwar mithilfe von Python und, obwohl es eine Einführungsveranstaltung gab, kommt er damit nicht zurecht. Ich habe mir zwar ein sehr geniales Tutorial heruntergeladen, aber werde es kaum nach meinem Arbeitstag schaffen, ihm das zu vermitteln, was er eventuell im online Seminar verpasst hat. Er ist Asperger und es fällt ihm schwer, auf andere Menschen zuzugehen. Das wird er im Laufe seines Studiums noch lernen müssen, aber ich wäre unglaublich froh, wenn Ihr ihm erstmal so helfen könntet. Ich denke , dass die Aufgabenstellung ziemlich einfach ist, aber ich bin bis jetzt noch nicht dazu gekommen (beim Tutorial):
1. Wie viel kann ich mir kaufen? [20 Punkte]
________________________________________
________________________________________
Sie haben gerade Ihren erstes Gehalt erhalten. Jetzt, wo Sie genug Geld haben, fragen Sie sich, wie viele neue T-Shirts Sie kaufen könnten.
Aufgabe: Erstellen Sie eine Funktion, die den Geldbetrag (ein positiver Float-Wert), den Sie bereit sind auszugeben, und den Preis eines neuen T-Shirts (ein weiterer positiver Float-Wert) erwartet. Geben Sie die Anzahl der T-Shirts zurück (ein Integer-Wert), die Sie kaufen können.
Beispiel: Wenn Sie 100€ zur Verfügung haben und ein T-Shirt 35€ kostet, wäre das Ergebnis 2.
Denken Sie daran, dass Sie nicht einen Bruchteil eines Hemdes kaufen können.
________________________________________
# Possible solution
def calculate_amount(balance, price):
# Remove the pass and write your code here
pass
________________________________________
print(calculate_amount(100, 35) == 2) # should print True
print(calculate_amount(50.89, 30.11) == 1) # should print True
________________________________________
2. Wie viel habe ich noch übrig? [20 Punkte]
________________________________________
________________________________________
Angenommen, Sie möchten so viele Hemden wie möglich kaufen. Sie interessieren sich nun für den Geldbetrag, den Sie nach dem Kauf auf Ihrem Konto übrig haben werden.
Aufgabe: Schreiben Sie eine Funktion, die Ihren Kontostand (ein Integer-Wert) und den Preis des Hemdes (ein weiterer Integer-Wert) als Eingaben annimmt. Geben Sie einen String zurück, der den Kontostand angibt, nachdem Sie so viele Hemden wie möglich gekauft haben. Der String sollte wie folgt aufgebaut sein:
"Mein neuer Kontostand ist x€.", wobei x aus dem Kontostand und dem Hemdenpreis berechnet werden muss. Beim Bilden des Strings müssen Sie auf die Leerzeichen vor dem Betrag x und das €-Zeichen danach nach dem Betrag achten.
Beispiel: Nehmen wir an, Ihr aktuelles Guthaben beträgt 100€ und ein Hemd kostet 35€. Wie Sie aus der vorherigen Aufgabe wissen, Könnten Sie zwei Hemden kaufen und hätten noch 30€ auf Ihrem Konto.
Tipp: Die Zahl, die Sie berechnen müssen, ist der Rest der Division. Sie können davon ausgehen, dass Ihre Funktion nur ganzzahlige Werte als Eingabe erhält.
________________________________________
def calculate_remainder(balance, price):
# Remove the pass and write your code here
pass
________________________________________
print(calculate_remainder(10, 2) == 'My new account balance is 0€.')
print(calculate_remainder(100, 35) == 'My new account balance is 30€.')
________________________________________
3. Spar-Rechner [30 Punkte]
________________________________________
________________________________________
Da Sie nicht Ihr ganzes Geld ausgeben wollen, beschließen Sie auch, einen Teil davon zu investieren. Sie fragen sich, wie viel Sie mit einer einzigen Investition nach einer bestimmten Zeit verdienen könnten. Um diesen Betrag zu schätzen, beschließen Sie, eine Funktion in Python zu entwickeln.
Aufgabe: Erstellen Sie eine Funktion, die das Startkapital (ein Float-Wert), den Zinssatz (ein Float-Wert) sowie die Anzahl der Jahre (ein Integer-Wert), die Sie investieren wollen, erwartet und das verzinsten Kapitals, einen Integer Wert (typecasted), zurückgibt.
Hinweis: Um das verzinste Kapital zu einem bestimmten Zeitpunkt zu berechnen, können Sie folgende Formel verwenden. An beschreibt das Kapital nach dem Jahr n, A0 ist das Anfangskapital, p beschreibt den Zinssatz (z.B. p = 5 bezieht sich auf einen Zinssatz von 5%) und n ist die Anzahl der Jahre, für die man investieren möchte.
An=A0∗(1+p100)n
________________________________________
def savings(amount, int_rate, years):
# Remove the pass and write your code here
pass
________________________________________
print(savings(5000, 2, 3) == 5306)
print(savings(4300, 2.3, 7) == 5041)
________________________________________
Danke!!!
Hilfe, ich brauche für meinen Sohn eine Lösung...Erstsemester...auch wenn Ihr keine Hausaufgaben löst. bitte einmal lese
Stimmt, hier sollen keine Hausaufgaben gelöst werden. Aber vielleicht soviel als Hinweise: Aufgabe 1 -> Integer-Division, Aufgabe 2 -> Gesamtbetrag abzüglich Resultat aus Aufgabe 1 (oder modulo Preis), Aufgabe 3 -> die angegebene Zinsformel umsetzen. Wobei die Zinsformel in der Darstellung falsch ist: es muß mit n potenziert werden. Und mit `return` kann man aus einer Funktion das Resultat zurückgeben.
@andieseul,
Ich hoffe das hilft auf die Schnelle. Auf Dauer nützt es deinem Sohn natürlich nicht wenn wir die Aufgaben für ihn lösen.
Er kann sich hier jederzeit gerne melden. Vielleicht mit etwas mehr Zeit vor dem Abgabetermin, damit man es mit ihm auch langsam durchgehen kann.
Viel Erfolg!
Code: Alles auswählen
# Aufgabe 1:
def calculate_amount(balance, price):
# // steht für interget-division, also Ganzzahl-Division
return balance // price
print(calculate_amount(100, 35) == 2) # should print True
print(calculate_amount(50.89, 30.11) == 1) # should print True
# Aufgabe 2
def calculate_remainder(balance, price):
# % steht für die modulus operation also Rest der Division
remainder = balance % price
return f"My new account balance is {remainder}€."
print(calculate_remainder(10, 2) == 'My new account balance is 0€.')
print(calculate_remainder(100, 35) == 'My new account balance is 30€.')
# Aufgabe 3
def savings(amount, int_rate, years):
# Die Formel in Python umgewandelt
savings = int(amount * (1 + int_rate / 100) ** years)
return savings
print(savings(5000, 2, 3) == 5306)
print(savings(4300, 2.3, 7) == 5041)
Er kann sich hier jederzeit gerne melden. Vielleicht mit etwas mehr Zeit vor dem Abgabetermin, damit man es mit ihm auch langsam durchgehen kann.
Viel Erfolg!