Aufgaben in der Schule

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.
baGX
User
Beiträge: 2
Registriert: Mittwoch 11. März 2009, 21:37
Kontaktdaten:

Mittwoch 11. März 2009, 21:42

Hallo, ich habe erst vor kurzen mit Python angefangen und wir haben in der Schule eine Aufgabe bekommen zu Python die wie folgt lautet.

Entwickle ein Python Programm, das aus einer vogegeben Liste, bestehend aus Integer-Werten, das größte und das kleinste Element ausgibt.

PS: Wir nehmen grad Listen in Python durch. Wäre echt net wenn ihr mir helfen könntet.

Edit (Leonidas): Verschoben. Ist schließlich keine "Idee".
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Mittwoch 11. März 2009, 21:44

Code: Alles auswählen

>>> def minmax(list):
	print min(list)
	print max(list)
sollte doch funktionieren mit Integern...
oder habe ich das falsch verstanden?
baGX
User
Beiträge: 2
Registriert: Mittwoch 11. März 2009, 21:37
Kontaktdaten:

Mittwoch 11. März 2009, 21:47

Hallo INFACT,
ja also aus integer Werten soll gemacht werden.
Benutzeravatar
cofi
Moderator
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Mittwoch 11. März 2009, 21:59

@INFACT Nur sollte man dabei keine built-ins überschreiben ;)

@baGX http://www.python-forum.de/topic-1689.html
Ansonsten kannst du dich auch vertrauensvoll an die offizielle Dokumentation wenden ( -> http://docs.python.org/)

Das ist zwar der eleganteste Weg die Aufgabe zu lösen, aber ich glaube aber ehrlich gesagt nicht, dass der Lehrer das im Sinn hatte.
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Donnerstag 12. März 2009, 08:26

Ja ich denke auch, dass der einen Algorithmus sehen will :wink:

Code: Alles auswählen

min = list[0]
max = list[0]
for item in list:
  if item > max:
    max = item
  if item < min:
    min = item
Normal mach ich ja keine Hausaufgaben, aber mir war danach...
sea-live
User
Beiträge: 440
Registriert: Montag 18. Februar 2008, 12:24
Wohnort: RP

Donnerstag 12. März 2009, 11:20

ihr ünerschreibt alle build ins die beispile sind damit nicht gerade
hilfreich
wi wärs mit sinnvollen variablen namen auserhalb der buildins

z.b maximalwert
minimalwert

oder ähnliches
Benutzeravatar
Blade Runner
User
Beiträge: 21
Registriert: Montag 23. Februar 2009, 11:41

Donnerstag 12. März 2009, 16:01

Code: Alles auswählen

liste = sorted(liste)
print liste[0], liste[-1]
:wink:
[quote="Roy Batty"]All those moments will be lost in time, like tears in rain ... time to die.[/quote]
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Donnerstag 12. März 2009, 16:11

Blade Runner hat geschrieben:

Code: Alles auswählen

liste = sorted(liste)
print liste[0], liste[-1]
Dazu braucht man sorted nicht, es reicht liste.sort().
MfG
HWK
10111
User
Beiträge: 22
Registriert: Samstag 21. Februar 2009, 01:34

Donnerstag 12. März 2009, 16:19

Also ich kenne auch solche Hausaufgaben. Da geht's i.d.R. darum, alles "zu Fuß" zu machen. Das übt ungemein das grundsätzliche Verständnis, wie ein Algorithmus funktioniert. Da das Beispiel so einfach ist, beteilige ich mich auch mal.

Code: Alles auswählen

# Erst mal eine unsortierte Liste.
liste = [2, 8, 9, 3, 1, 10, 7, 6]
# Der minimale / maximale Wert wird auf das erste Element der Liste gesetzt.
minwert = maxwert = liste[0]
# Jetzt wird geschaut, ob die Listenelemente kleiner oder größer
# sind als die akt. Werte und entsprechend angepasst.
for wert in liste:
     if wert<minwert:
         minwert = wert
     if wert>maxwert:
         maxwert = wert
print minwert, maxwert
EDIT: Upps, hab eben erst gesehen, dass ice2k3 das schon so gelöst hat. Egal. Doppelt hält besser. :?
Benutzeravatar
Blade Runner
User
Beiträge: 21
Registriert: Montag 23. Februar 2009, 11:41

Donnerstag 12. März 2009, 16:26

HWK hat geschrieben:Dazu braucht man sorted nicht, es reicht liste.sort().
Das macht doch hier keinen Unterschied.

10111, das ist genau ice2k3s Lösung.
[quote="Roy Batty"]All those moments will be lost in time, like tears in rain ... time to die.[/quote]
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Donnerstag 12. März 2009, 16:33

Die Frage ist, wieso mann das überhaupt hier fertig gelöst gepostet hat. So lernt der OP sicherlich nix!
Benutzeravatar
Blade Runner
User
Beiträge: 21
Registriert: Montag 23. Februar 2009, 11:41

Donnerstag 12. März 2009, 16:39

Naja, er kann sich einen Ansatz raussuchen und erweitern ... also "nichts lernen" kann man so nicht sagen.

Wobei sich das erweitern hier in Grenzen hält ... aber allgemein. :wink:
[quote="Roy Batty"]All those moments will be lost in time, like tears in rain ... time to die.[/quote]
problembär

Donnerstag 12. März 2009, 17:21

Hehe, min() und max() kannte ich noch nicht, der Lehrer aber offensichtlich auch nicht :lol:.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Donnerstag 12. März 2009, 17:26

Wo wir schon dabei sind, offensichtlich unsinnigen Code zu posten:

Code: Alles auswählen

def recmax(iterable):
    if len(iterable) == 1:
        return iterable[0]
    else:
        tailmax = recmax(iterable[1:])
        if iterable[0] >= tailmax:
            return iterable[0]
        else:
            return tailmax
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Donnerstag 12. März 2009, 20:18

problembär hat geschrieben:Hehe, min() und max() kannte ich noch nicht, der Lehrer aber offensichtlich auch nicht :lol:.
Das muss nicht sein.
Es ist durchaus sinnvoll aus didaktischen Gründen, einen Algorithmus schreiben zu lassen, der das größte/kleinste Element liefert, ohne dafür eine builtin-function zu verwenden. Auch wenn den meisten hier die dahinter stehende Idee - über die Liste iterieren und immer mit dem bis dahin größten/kleinsten Element vergleichen - so trivial erscheint, dass es schmerzt: Für einen Schüler, der das algorithmische Denken noch lernen muss, kann das durchaus anspruchsvoll sein.

Die Tatsache, dass das "Problem" hier überhaupt auftaucht, bestätigt das.
Antworten