140 data 7,500,200,100,50,20,10,5
wie macht man das bei python ?
und wieso steht dort eine sieben?
hilfe hausaufgabe python
Die 7 ist die Anzahl der Notenwerte. In Python würde man die Notenwerte in eine Liste oder ein Tupel stecken. Die 7 bräuchte man da nicht explizit, weil man zum einen die Länge der Liste oder des Tupels zur Laufzeit ermitteln kann, und zum anderen diese Länge auch nicht braucht, da man direkt über die Elemente einer Liste oder eines Tupels iterieren kann, ohne den Umweg über eine Zählschleife und einen Index.
Code: Alles auswählen
print"geldautomat"
notenwert=("500","200","100","50","20","10","5")
print len(notenwert)
betrag=input("wieviel so ausgezahlt werden?")
if betrag%5!=0:
print"automat kann keine Münzen auszahlen"
habe so manches versucht mit if elif else, for i in range und auch noch so ne sache die in byte python steht.
geht nicht mehr weiter




na so funktioniert das halt auch nicht - solange statements und funktionen mixen bis das richtige programm rauskommt.
wenn du jetzt das tutorial durchgearbeitet hast wäre der nächste schritt, dass du mal genau aufschreibst wie das programm ablaufen soll. dafür braucht man aber auch übung.
ich glaube fast, dass das zu schwer ist als erstes programm. und das ist doch sicher auch nicht euer erstes programm, oder? was hast du denn gemacht die ganze zeit in dem kurs, gepennt?
hast du unterlagen, mitschrift? du solltest evtl mal vorne anfangen und wenigstens einige der alten aufgaben durcharbeiten.
wenn du jetzt das tutorial durchgearbeitet hast wäre der nächste schritt, dass du mal genau aufschreibst wie das programm ablaufen soll. dafür braucht man aber auch übung.
ich glaube fast, dass das zu schwer ist als erstes programm. und das ist doch sicher auch nicht euer erstes programm, oder? was hast du denn gemacht die ganze zeit in dem kurs, gepennt?
hast du unterlagen, mitschrift? du solltest evtl mal vorne anfangen und wenigstens einige der alten aufgaben durcharbeiten.
http://www.kinderpornos.info
-
- User
- Beiträge: 136
- Registriert: Sonntag 15. Januar 2006, 20:31
- Wohnort: Greifswald
- Kontaktdaten:
Vielleicht war das auch der Versuch, ein Basic-Programm in Pyton zu übersetzen, was wahrscheinlich ohnehin nicht gelingen wird. Wenn man versucht, C64-BASIC und Python gleichzeitig zu lernen, kann man ja schon mal durcheinander kommen.Dill hat geschrieben:na so funktioniert das halt auch nicht - solange statements und funktionen mixen bis das richtige programm rauskommt.
Es ist aber auch nicht so kompliziert, wie es uns durch den Kopf geht oder wie Blackjack es formuliert hat: Wenn auch eine unelegante Lösung zählt, die Zahl der Notenwerte klein und konstant ist und wenn es egal ist, wie gestückelt wird, braucht man dafür nicht mal eine Liste oder eine Schleife. Eine Folge von if's für jeden Notenwert und ein bisschen Dividieren und fertig ist die Kiste in einem völlig linearen Programm.ich glaube fast, dass das zu schwer ist als erstes programm.
@KlaliB: Dein Programm kann bisher fragen, welche Summe abgehoben werden soll und dann prüfen, ob die durch fünf teilbar ist. Wenn die Summe durch fünf teilbar ist, was soll das Programm dann tun? Und was dann als nächstes? Was würdest Du tun, wenn ich Dir sage, Du sollst 125 EUR in Geldscheine stückeln - wie würdest Du vorgehen um herauszufinden, welche Scheine Du mir gibst?
Ich würde eher sagen: Vielleicht zunächst eine unschöne Lösung finden, die immerhin korrekt läuft und dann sehen, wo man optimieren kann. Ich weiß nicht, wie andere Leute vorgehen, aber bei mir ergibt sich die Struktur eines Skripts/Programms meist während der Erstellung. Ich mache mir da nicht großartig Notizen zu, sondern der Plan ist quasi in meinem Kopf. Ist ja auch klar, wenn man gerade drin ist und alle 1-2 Tage mal wieder was macht (so gehe ich vor, der Rest ist oft "sacken lassen", wenn etwas auf Anhieb zu hoch erscheint und dann im wahrsten Sinne des Wortes ne Nacht drüber schlafen, denn vor dem Einschlafen kommen mir oft die besten Ideen), dann kennt man sein Programm eben.
@snafu: Ich denke so kann man vorgehen, wenn man schon programmieren kann. Dann wählt man aus Erfahrung schon ohne grosse Planung die richtigen Datenstrukturen, wobei man schon eine grobe Idee im Kopf hat, wie das Programm auf die Daten zugreift. Aber wenn man diese Erfahrung nicht hat, und einfach drauf losprogrammiert, strukturiert man die Daten unter Umständen so, wie's ganz am Anfang mal Sinn macht, und bekommt dann im Laufe der Programmierung immer mehr und mehr Probleme damit.
Also als Anfänger, vor allem wenn's einem schwer fällt, sollte man sich schon vorher einen groben Ablaufplan machen.
Wahrscheinlich machst Du (snafu) das auch, nur halt nicht mehr bewusst und auf Papier, sondern automatisch und im Kopf.
Also als Anfänger, vor allem wenn's einem schwer fällt, sollte man sich schon vorher einen groben Ablaufplan machen.
Wahrscheinlich machst Du (snafu) das auch, nur halt nicht mehr bewusst und auf Papier, sondern automatisch und im Kopf.
das geht imo nur mit kleinen skripten oder problemen die man so ähnlich schon gelöst hat. das werden natürlich immer mehr.
für klalib ist das sicher eine ungeeignete vorgehensweise. aber er wird auch nicht wissen wie man überhaupt zu pseudocode oder einem ablaufplan kommt. das kann man halt nur lernen durch üben. und dafür ist das problem zu schwer denke ich.
für klalib ist das sicher eine ungeeignete vorgehensweise. aber er wird auch nicht wissen wie man überhaupt zu pseudocode oder einem ablaufplan kommt. das kann man halt nur lernen durch üben. und dafür ist das problem zu schwer denke ich.
http://www.kinderpornos.info
ich habe etwas gefunden im internet also es ist ähnlich wie meins aber läuft bei mir nicht. ist das vieleicht in einem älteren pytohn geschrieben worden?
Code: Alles auswählen
class Bankomat:
def __init__(self, fuenfzig = 0, hundert = 0):
if fuenfzig == 0:
self.fuenfziger = 20
else:
self.fuenfziger = fuenfzig
if hundert == 0:
self.hunderter = 30
else:
self.hunderter = hundert
self.auszahlen = {
50 : (1, 0),
100 : (2, 0),
150 : (1, 1),
200 : (2, 1),
300 : (2, 2),
400 : (2, 3),
500 : (2, 4),
600 : (2, 5),
800 : (4, 6),
1000 : (4, 8)
-
- User
- Beiträge: 136
- Registriert: Sonntag 15. Januar 2006, 20:31
- Wohnort: Greifswald
- Kontaktdaten:
Scheißegal in was für einem Python das geschrieben ist. Das ist nur ein Teil eines Programms und das ist der Versuch einer objektorientierten Lösung - das ist viel zu kompliziert für Dich. Außerdem kann es nicht beliebige Beträge herausgeben. Und es kennt keinen 20 EUR-Schein und und und ...
Mach es selbst und mach es einfach:
Wie würdest Du mir 125 EUR in Scheinen geben? Wie würdest Du mir 175 EUR geben, wie würdest Du mir x EUR geben?
Mach es selbst und mach es einfach:
Wie würdest Du mir 125 EUR in Scheinen geben? Wie würdest Du mir 175 EUR geben, wie würdest Du mir x EUR geben?
was für ein gruseliger code.
klalib, so kommst du nicht weiter. du machst den 4. schritt vor dem ersten. du musst dir jetzt erstmal klar werden was überhaupt zu tun ist. hat wenig mit programmieren zu tun.
mach dir mal gedanken zu der frage von bernhard. und schreib das einfach in deutsch auf.
(du hast von jedem möglichen schein einen grossen stapel. jetzt will ich 175€ von dir, was tust du?)
klalib, so kommst du nicht weiter. du machst den 4. schritt vor dem ersten. du musst dir jetzt erstmal klar werden was überhaupt zu tun ist. hat wenig mit programmieren zu tun.
mach dir mal gedanken zu der frage von bernhard. und schreib das einfach in deutsch auf.
(du hast von jedem möglichen schein einen grossen stapel. jetzt will ich 175€ von dir, was tust du?)
http://www.kinderpornos.info
1x100€ 1x50€ 1x20€ 1x5€Dill hat geschrieben:was für ein gruseliger code.
klalib, so kommst du nicht weiter. du machst den 4. schritt vor dem ersten. du musst dir jetzt erstmal klar werden was überhaupt zu tun ist. hat wenig mit programmieren zu tun.
mach dir mal gedanken zu der frage von bernhard. und schreib das einfach in deutsch auf.
(du hast von jedem möglichen schein einen grossen stapel. jetzt will ich 175€ von dir, was tust du?)
aber wie soll ich das machen ich mach auch byte python durchgelesen und so
mit tupel oder liste allein geht das nicht
-
- User
- Beiträge: 136
- Registriert: Sonntag 15. Januar 2006, 20:31
- Wohnort: Greifswald
- Kontaktdaten:
Du hast zwei verschiedene Probleme: Du musst A Byte of Python durchlesen und Du musst Dir über Deinen Problemlösungsweg klar werden.
Du hast gesagt, wie Du 175 EUR herausgibst.
Jetzt beantworte bitte dasselbe für folgende Beträge:
125 EUR, 200 EUR, 225 EUR, 105 EUR, 75 EUR,...
(keine Verarsche, ist ernst gemeint!)
Du hast gesagt, wie Du 175 EUR herausgibst.
Jetzt beantworte bitte dasselbe für folgende Beträge:
125 EUR, 200 EUR, 225 EUR, 105 EUR, 75 EUR,...
(keine Verarsche, ist ernst gemeint!)
durchlesen reicht natürlich nicht. du musst die sachen auch ausprobieren.
das geht ja sehr schön im interpreter. grössere sachen schreibst du im texteditor. dann kansst du die entweder in den interpreter reinkopieren oder speichern als datei.py und mit
python datei.py
ausführen.
ja, jetzt schreib mal wie du die anderen beträge ausgeben würdest. ziel ist eine handlungsanweisung zu finden. stell dir vor du müsstest das jemandem der dein geld an leute verteilen soll haarkelin erklären. stell dir vor das derjenige alles sehr genau nimmt aber auch sehr dumm ist.
das geht ja sehr schön im interpreter. grössere sachen schreibst du im texteditor. dann kansst du die entweder in den interpreter reinkopieren oder speichern als datei.py und mit
python datei.py
ausführen.
ja, jetzt schreib mal wie du die anderen beträge ausgeben würdest. ziel ist eine handlungsanweisung zu finden. stell dir vor du müsstest das jemandem der dein geld an leute verteilen soll haarkelin erklären. stell dir vor das derjenige alles sehr genau nimmt aber auch sehr dumm ist.
http://www.kinderpornos.info
http://paste.pocoo.org/show/118529/
Hier ein Beispiel (das paket texttable wird benötigt):
Idee zum Erweitern: Konto für eine Woche sperren, wenn eine falsche PIN eingegeben wurde.
für die, die es nicht gemerkt haben: Ich habe bewusst schrecklichen Code geschrieben, indem ich unnötig Klassen verwendete und auf das Abfangen von Exceptions verzichtete.
Hier ein Beispiel (das paket texttable wird benötigt):
Code: Alles auswählen
$ ./cash_machine.py
Enter the requested money: 740
Please enter your PIN: 7249
+------+-----------------+
| Note | Number of Notes |
+======+=================+
| 500 | 1 |
+------+-----------------+
| 200 | 1 |
+------+-----------------+
| 20 | 2 |
+------+-----------------+
für die, die es nicht gemerkt haben: Ich habe bewusst schrecklichen Code geschrieben, indem ich unnötig Klassen verwendete und auf das Abfangen von Exceptions verzichtete.
Dreimal falsche PIN eingegeben, warst du noch nie bei einem Bankomaten (Geldautomat)?derdon hat geschrieben:Idee zum Erweitern: Konto für eine Woche sperren, wenn eine falsche PIN eingegeben wurde.
Die Klassen sind so nichtmal so dumm, nur einfach falsch implementiert.
Ohloh | Mein Blog | Jabber: segfaulthunter@swissjabber.eu | asynchia – asynchrone Netzwerkbibliothek
In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.
In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.
Würde ich persönlich (jeder arbeitet anders) eigentlich nicht sagen. Man darf halt nicht geizig sein, beim Anlegen von neuen Dateien.Dill hat geschrieben:das geht imo nur mit kleinen skripten oder problemen die man so ähnlich schon gelöst hat. das werden natürlich immer mehr.
Ich brauche ja für mein Projekt, das irgendwann mal eine Art `mechanize`-Klon mit Zusatzfunktionen werden soll, z.B. sehr oft Zugriff auf die JavaScript-Engine von WebKit. In den ersten drei Methoden habe ich die Strings noch selbst geschrieben, dann aber gemerkt wie umständlich das ist (Unübersichtlich, ständige Wiederholung, viele Zeilen um etwas ähnliches zu erreichen). Folglich musste ein Wrapper her. Da der aber ein zusätzliches Tool für mich ist und ich - wenn es sowas geben würde - mit Sicherheit ein 3rd Party Modul genutzt hätte, macht es für mich auch Sinn, den Kram in ein eigenes Modul zu stecken.
Der Wrapper hat seine eigenen Tests und das "Hauptmodul", welches die Sachen ja im Kontext des Gesamtprojektes nutzen muss, hat auch eigene. Und ich bin mir sicher, dass ich bspw. den formularbezogenen Code auch bald auslagern werde (allein schon zwecks Kompatibilität zu `HTMLForm` von `mechanize` bzw. `ClientForm`). Und so geht das immer weiter... Zellteilung, quasi.

Ich denk mir halt, dass alles gewissermaßen eigene Programme sind, die miteinander kombiniert werden. Eben so, als würde ich mit Fremdmodulen arbeiten. Mit diesem Klötzchen-Aufbau-Prinzip komme ich persönlich viel besser zurecht, als wenn ich mir sonst was für Planungen und Theorien mache, die im Entwicklungsprozess ohnehin zigfach umgestellt werden, weil sie sich als unpraktikabel erweisen.