Seite 1 von 1

Thesis programming

Verfasst: Mittwoch 5. April 2006, 15:53
von CM

Code: Alles auswählen

import thesis

THESIS_TOPIC = thesis.get_topic()
years_in_gradschool = 0

while(thesis.funding):
    data = thesis.run_experiment(THESIS_TOPIC)
    GOOD_ENOUGH = thesis.query(thesis.advisor)
    if data > GOOD_ENOUGH:
        thesis.graduate()
        break
    else:
        THESIS_TOPIC = thesis.get_new_topic()
        years_in_gradschool += 1
Habe ich mal unter phdcomics.com gefunden und für Python adaptiert. Bin gerade wieder drüber gestolpert.

SCNR
Christian

Verfasst: Mittwoch 5. April 2006, 22:30
von BlackJack
Die ``while`` Schleife gefiel mir nicht so gut. Hier ist eine Iterator-Lösung. :-)

Code: Alles auswählen

import thesis
from itertools import ifilter

topics = ifilter(thesis.funding, thesis.iter_topics())

for years_in_gradschool, thesis_topic in enumerate(topics):
    data = thesis.run_experiment(thesis_topic)
    good_enough = thesis.advisor.query(data)
    if data >= good_enough:
        thesis.graduate()
        break

Verfasst: Donnerstag 6. April 2006, 08:45
von CM
Ich wußte, daß der Stil zu Widerspruch reizen würde, aber es ist eine "1:1 Übersetzung von Pseudo-C", wenn ich das mal so sagen darf. Wie auch immer, Iteratoren mögen zwar besser sein, aber ich möchte Dich auf einen schweren Bug im Programm hinweisen. Es muß so lauten:

Code: Alles auswählen

import thesis
from itertools import ifilter

topics = ifilter(thesis.funding, thesis.iter_topics())

for years_in_gradschool, thesis_topic in enumerate(topics):
    data = thesis.run_experiment(thesis_topic)
    good_enough = thesis.query(thesis.advisor)
    if data >= good_enough:
        thesis.graduate()
        break
Beachte bitte, daß die Bestimmung der Variable good_enough unabhängig von der Datenlage ist, so daß der Vergleich data >= good_enough de facto ebenfalls unabhängig von der Datenlagen ist. Der Vergleich ist notwendig, um die Öffentlichkeit nicht allzusehr zu stören. Die Bestimmung von good_enough auf diese Weise ist die Anpassung des Programms an die Realität.

Gruß,
Christian

PS ... der froh ist einen netten Kerl zum Chef zu haben.

Verfasst: Donnerstag 6. April 2006, 09:34
von henning
Hat jemand mal einen Link der erklärt was dieses thesis-programming überhaupt ist?

Verfasst: Donnerstag 6. April 2006, 09:38
von modelnine
Thesis (englisch): eine Abhandlung über ein Thema, wie sie in wissenschaftlichen Kreisen geschrieben wird.

Thesis-Programming (englisch): scherzhafte Beschreibung des Vorgangs eine Abhandlung zu schreiben, im Verweis auf eine algorithmische Abhandlung des Vorgangs.

Humor (deutsch): durchgefallen. :-)

Verfasst: Freitag 7. April 2006, 08:55
von CM
modelnine hat geschrieben: Humor (deutsch): durchgefallen. :-)
Na ja, ist wohl etwas sehr speziell. Ich jedenfalls fand es lustig, gelobe aber Besserung und werde solcherlei Dinge nicht häufig posten.

Gruß,
Christian