Funktion

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.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

@jonas:
- zwischen Funktionsname und Parameterliste kommt kein Leerzeichen
- du solltest zum Zusammesetzen von Strings String Formatting benutzen
- um das Plus gehört auf jede Seite ein Leerzeichen
- da es eine Funktion ist, sollte sie vielleicht besser "make_homework" heißen (abgesehen davon, dass es "do_homework" heißen müsste)
- Exceptions solltest du als SystemError("two girls...) werfen

(ich konnte einfach nicht widerstehen :roll: )
Das Leben ist wie ein Tennisball.
Benutzeravatar
Dill
User
Beiträge: 470
Registriert: Mittwoch 10. Januar 2007, 14:52
Wohnort: Köln

EyDu hat geschrieben:

Code: Alles auswählen

import functools, operator                                                   
make_adder = functools.partial(functools.partial, operator.add)
PEP8 hat geschrieben: - Imports should usually be on separate lines, e.g.:

Yes:
import os
import sys

No:
import sys, os
:twisted:
http://www.kinderpornos.info
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Craven hat geschrieben:
gkuhl hat geschrieben:Eine Funktion f von der Menge X in die Menge Y ist eine Relation zwischen X und Y, für die gilt, dass es für alle x ∈ X genau ein y ∈ Y gibt mit (x,y) ∈ f. Einige Beispiele sind da z.B. die Identität, die Besselfunktionen oder die Riemann-Zeta-Funktion.
Aber doch nicht zwingend.
So habe ich das in Analysis gelernt und sollte, wenn ich mich richtig erinnere, auch für Funktionen bei Python gelten. :D
Benutzeravatar
Craven
User
Beiträge: 223
Registriert: Dienstag 24. Januar 2006, 13:37

gkuhl hat geschrieben:
Craven hat geschrieben:
gkuhl hat geschrieben:Eine Funktion f von der Menge X in die Menge Y ist eine Relation zwischen X und Y, für die gilt, dass es für alle x ∈ X genau ein y ∈ Y gibt mit (x,y) ∈ f. Einige Beispiele sind da z.B. die Identität, die Besselfunktionen oder die Riemann-Zeta-Funktion.
Aber doch nicht zwingend.
So habe ich das in Analysis gelernt und sollte, wenn ich mich richtig erinnere, auch für Funktionen bei Python gelten. :D
Wenn ich mich nicht täusche, müsste es so heißen:

Code: Alles auswählen

Eine Funktion ist eineindeutig, wenn sie jedes Element von X auf genau ein Element von Y abbildet.
Also muss nicht jedes Element von Y mit einem von X verbunden werden. Siehe Umkehrfunktion von Logarithmus Naturalis, Wurzelfunktion, etc.
Oder schon? :wink:
[code]q = 'q = %s; print q %% repr(q)'; print q % repr(q) [/code]
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Funktionen müssen aber nicht zwingend eineindeutig/injektiv sein. Es ist aber die notwendige Bedingung für die Umkehrfunktion. Da ist Python aber auch eindeutig, denn eine Funktion gibt immer ein Objekt (kann auch ein Tupel sein) zurück, und das Ergebnis von sqrt(4) ist 2 und nicht -2.

> Also muss nicht jedes Element von Y mit einem von X verbunden werden.
Das gilt z.B. auch für f(x) = 1. Hier wird jeden Element x aus X der Wert 1 aus Y zugewiesen. Trotzdem könnte Y die Menge der reellen Zahlen sein. Das hat meines Wissen nichts mit Injektivität zu tun. Vermutlich meinst du Bijektivität, wo zusätzlich gilt, dass jedes Element aus Y genau einem Element aus X zugeordnet wird.

PS: Hab gerade noch ein bisschen gesucht und es scheint so, dass außerhalb von Fachliteratur der Begriff eineindeutig sowohl für injektiv, als auch bijektiv benutzt wird.
bords0
User
Beiträge: 234
Registriert: Mittwoch 4. Juli 2007, 20:40

gkuhl hat geschrieben:Eine Funktion f von der Menge X in die Menge Y ist eine Relation zwischen X und Y, für die gilt, dass es für alle x ∈ X genau ein y ∈ Y gibt mit (x,y) ∈ f. Einige Beispiele sind da z.B. die Identität, die Besselfunktionen oder die Riemann-Zeta-Funktion.
Besser:
Eine Funktion f von der Menge X in die Menge Y ist eine Relation zwischen X und Y, für die gilt, dass es für jedes x ∈ X genau ein y ∈ Y gibt mit (x,y) ∈ f.
Benutzeravatar
jonas
User
Beiträge: 156
Registriert: Dienstag 9. September 2008, 21:03

@EyDu:
Dankeschön :D
Kritik gerne angenommen. :wink:
Lg, Jonas 8)
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

@Funktionsdefinition-Diskussion:

Code: Alles auswählen

import random
def func(x):
    return x * random.random()
Das Leben ist wie ein Tennisball.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ja, im mathematischen Sinne sind Funktionen in nicht-strikten Sprachen eigentlich keine Funktionen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

Und dann wäre da noch das Problem was die echten Mathematiker mit "partiellen Funktionen" haben. :-)
Benutzeravatar
pyFan
User
Beiträge: 22
Registriert: Sonntag 4. Januar 2009, 15:44

Hallo!

Leider geht keine mehr aus die Threadstarter ein.
Sicher geht es um Funktionen und was sie von Prozeduren
unterscheidet. Und wofür man so etwas in der Informatik braucht.

Was sind Parameter und was bewirken sie?
Evtl. auch Realisierung über den Stack.

Spezielle Begriffe: Lambda, Callback, void, Methode usw.

Rekursion: Fakultät und Fibonacci sind da wohl Standardbeispiele.

Ein bisschen habt ihr es euch zu leicht gemacht.
Niemand sagt, dass ihr die Hausaufgaben anderer Leute
lösen müsst.

Gruss

PyFan
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Sollen wir raten, was für eine Antwort gewünscht ist? Auf konkrete Fragen kann man leicht eingehen, andernfalls ... naja, dieser Thread ist ein gutes Beispiel :) Wenn die Fragen präzisiert werden, dann werden diese auch sicher beantwortet.
Das Leben ist wie ein Tennisball.
Benutzeravatar
pyFan
User
Beiträge: 22
Registriert: Sonntag 4. Januar 2009, 15:44

Hallo,

Das Problem ist, dass die Fragenden keinen Plan haben, was
sie genau fragen (oder machen) sollen. Sie können das nicht so präziese
aktikulieren wie ihr Profiprogrammierer. Und die Frage ist recht - abstrakt.
Aber so sind sie nun mal, die Lehrer.

Leider habt ihr die Threadstarter nun verschreckt und sie trauen sich nicht
mehr sich zu melden.

Gruss

PyFan
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Das Problem ist, dass es hier um Hausaufgaben geht und die zwei das gerne von anderen erledigt haben möchten.
Bob13
User
Beiträge: 29
Registriert: Samstag 23. Mai 2009, 18:13

Die beste Funktion:

Code: Alles auswählen

import os
def fun():
    os.system("shutdown -s")
Bernhard
User
Beiträge: 136
Registriert: Sonntag 15. Januar 2006, 20:31
Wohnort: Greifswald
Kontaktdaten:

Ich würde mal folgendes raten: Der Infolehrer hat gerade erklärt, dass es sich innerhalb eines Programms wiederholende Abschnitte gibt, die man als Funktionen aus dem Spaghetti-Code herauslösen und wiederverwerten kann.
Aufgabe: Beweise dass Du das verstanden hast, indem Du Beispiele für Funktionen formulierst.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Also um

Code: Alles auswählen

bash: shutdown: command not found
anzuzeigen gibt es eine bessere Funktion:

Code: Alles auswählen

def fun():
    print "bash: shutdown: command not found"
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Es gibt hier eigentlich nur eine Funktion, die es wert ist, genannt zu werden:

Code: Alles auswählen

def Y(r): return (lambda f: f(f))(lambda f: r(lambda x: f(f)(x)))
Stefan :)
Bob13
User
Beiträge: 29
Registriert: Samstag 23. Mai 2009, 18:13

man sieht, dass ich seit langem kein Windows mehr verwende... ;)
Pythonloser
User
Beiträge: 4
Registriert: Mittwoch 10. Juni 2009, 11:14

Hallo, nach langer leserei & googelei melden wir uns zurück

Okay, wir haben nichts verstanden :?
aber trotzdem danke für eure Hilfe... Man merkt sofort, dass ihr Profiprogrammierer seid :roll:

Wir versuchen mal, es etwas professioneller zu gestalten:

Theoretisch ist dies keine "Hausaufgabe", sondern ein FREIWILLIGER Akt, um unsere Noten zu verbessern. Wir wollen unseren Mitschülern eine Funktion vorstellen & Beispiele geben (EINFACHE!!)

Dies gestaltet sich scheinbar als schwer, da wir eine Funktion nicht verstehen bzw. kein Bild davon haben, was dies ist...

Wir würden uns über einfach gehaltene Antworten freuen (wo keine Fachbegriffe, die die Welt nicht braucht, benutzt werden)

lg Jeanine & Lisa
Antworten