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.
Benutzeravatar
str1442
User
Beiträge: 520
Registriert: Samstag 31. Mai 2008, 21:13

macht ja genau das.
Nö. Du legst den Namen liste neu an mit der neuen Liste, die alte Liste ist dann einfach nicht mehr erreichbar. Zumindest wenn man von einer Funktion ausgeht und das nicht auf Modulebene geschieht.
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Ich denke mal, es ging BlackJack eher um das Szenario, wenn das in einer Funktion steht. Dann wird nämlich in dem einen Fall das empfangene Argument verändert, dh die Liste ist beim Aufrufer nach dem Aufruf verändert, was ganz sicher nicht das erwartete Verhalten ist, im anderen Fall nicht. Man müsste also erst eine Kopie der Liste erstellen. Wenn man das erst macht, gibt es aber auch keinen Grund, nicht `sorted()` zu verwenden.

Edit: Ich schreibe wohl offensichtlich zu langsam.
"Der Dumme erwartet viel. Der Denkende sagt wenig." ("Herr Keuner" -- Bertolt Brecht)
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

cofi hat geschrieben:@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.
Dabei werden keine builtins überschrieben:

Code: Alles auswählen

>>> def foo(list):
	print list

	
>>> foo("asdfgsdfg")
asdfgsdfg
>>> a=list()
>>> a
[]
>>> 
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
Benutzeravatar
Blade Runner
User
Beiträge: 21
Registriert: Montag 23. Februar 2009, 11:41

Code: Alles auswählen

min = list[0]
max = list[0]
for item in list:
  if item > max:
    max = item
  if item < min:
    min = item 
min und max sind die builtins.

edit: richtigen Code eingefügt.
Zuletzt geändert von Blade Runner am Freitag 13. März 2009, 18:46, insgesamt 2-mal geändert.
[quote="Roy Batty"]All those moments will be lost in time, like tears in rain ... time to die.[/quote]
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

INFACT hat geschrieben:Dabei werden keine builtins überschrieben:
Doch, lokal in der Funktion. Auch das sollte man vermeiden, denn wenn die Funktion etwas länger ist kann es durchaus vorkommen dass man dort irgendwo ``list()`` aufrufen will und wenn dann ein komischer Fehler kommt ist das unpraktisch.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Ok, überzeugt :roll:
:wink:
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
Antworten