Vorschlag zur besseren gegenseitigen Hilfe (OOP nutzen)

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.
qweet
User
Beiträge: 119
Registriert: Freitag 2. September 2005, 21:26

Beitragvon qweet » Mittwoch 25. Januar 2006, 17:16

hmm. auch gut zu wissen. :D

ich gebe mich geschlagen. :roll:
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

Beitragvon modelnine » Mittwoch 25. Januar 2006, 20:14

list ist ein Python-Keyword, kann zu kuriosen Fehlern führen, wenn man so etwas als Variablennamen verwendet


List ist _kein_ Keyword, es ist der Name einer eingebauten Factory-Funktion. Wenn es ein Keyword wäre würde der Interpreter einen SyntaxError schmeißen bei der Benutzung wie da angegeben, er tut es aber nicht.

Keywords sind Dinge wie if, while, print, for, in, und seit neuestem auch None (probiere mal eine Zuweisung auf None zu machen in Python 2.4).

--- Heiko.
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Beitragvon mitsuhiko » Mittwoch 25. Januar 2006, 20:57

modelnine hat geschrieben:...und seit neuestem auch None (probiere mal eine Zuweisung auf None zu machen in Python 2.4).

Da muss ich dir ausnahmsweise mal wiedersprechen. None ist kein Keyword. Auch wenn es einen Syntax Error wirft, ist es nach wie vor ein Objekt vom type NoneType.
TUFKAB – the user formerly known as blackbird
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

Beitragvon modelnine » Mittwoch 25. Januar 2006, 21:04

Stimmt. :-) Ich hab mich zumindest dunkel daran erinnert dass None ein Keyword werden sollte für 2.4 (dachte ich halt zumindest), ist es aber noch nicht geworden.

--- Heiko.
BlackJack

Beitragvon BlackJack » Mittwoch 25. Januar 2006, 22:31

modelnine hat geschrieben:List ist _kein_ Keyword, es ist der Name einer eingebauten Factory-Funktion.


Ich will auch mal "Erbsenzählen": `list` ist keine Factory-Funktion, das war früher mal. Jetzt ist `list` ein `type`. Sonst könnte man nicht davon erben. :-)
BlackJack

Beitragvon BlackJack » Mittwoch 25. Januar 2006, 22:41

qweet hat geschrieben:

Code: Alles auswählen

def connect_trends_of_same_direction_together

hat die aufgabe eine liste mit integer zusammenzufassen. alle positiven zahlen sollen addiert werden, bis die nächste negative zahl kommt. sobald das der fall ist, sollen alle negativen zahlen addiert werden, bis die nächste positive kommt...usw.


Könnte man so machen:

Code: Alles auswählen

from itertools import groupby

values = [1, 3, 4, -2, -6, -1, -1, 8, 1, 3]

def is_positive(number):
    return number >= 0

def sum_same_sign(iterable):
    for dummy, items in groupby(iterable, is_positive):
        yield sum(items)

summed_values = list(sum_same_sign(values))
print summed_values
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

Beitragvon modelnine » Mittwoch 25. Januar 2006, 22:44

Oder auch einfach:

Code: Alles auswählen

import itertools

def trends_verbinden(lst):
    return [sum(l) for _, l in itertools.groupby(lst,lambda k:k>=0)]


und: ja, ich gebe mich geschlagen, haut alle auf mich drauf. Darf ich's auf meine schlechte Kindheit schieben? ;-)

--- Heiko.

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], Google [Bot], Sirius3