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.
sma
User
Beiträge: 3018 Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel
Sonntag 15. Juni 2008, 10:39
Sagt, mal: selbst, wenn man "ergbnis" richtig schreiben würde, die ursprüngliche Funktion ist doch nur eine komplizierte Variante von
Will sagen: Der Algorithmus ist falsch abgeschrieben.
Stefan
HWK
User
Beiträge: 1295 Registriert: Mittwoch 7. Juni 2006, 20:44
Sonntag 15. Juni 2008, 12:02
@sma: Ja, genau!
birkenfeld hat geschrieben: Sehr gut. Nächste Aufgabe: Erweiterung auf n! = Γ(n+1)
Code: Alles auswählen
from scipy.special import gamma
def fac(n):
return gamma(n + 1)
MfG
HWK
mitsuhiko
User
Beiträge: 1790 Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:
Sonntag 15. Juni 2008, 14:30
audax hat geschrieben: Aber ich hab grad nur Python2.4 zur Hand und das kann das inline if-else nicht
Geht trotzdem
Code: Alles auswählen
from operator import mul
fak = lambda n: (n == 0 and (1,) or reduce(mul, xrange(1, n + 1)))[0]
TUFKAB – the user formerly known as blackbird
birkenfeld
Python-Forum Veteran
Beiträge: 1603 Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München
Sonntag 15. Juni 2008, 15:21
Das Tupel und [0] sind aber falsch da.
mitsuhiko
User
Beiträge: 1790 Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:
Sonntag 15. Juni 2008, 15:24
Richtig. Fixed
Code: Alles auswählen
from operator import mul
fak = lambda n: (n == 0 and (1,) or (reduce(mul, xrange(1, n + 1)),))[0]
TUFKAB – the user formerly known as blackbird
birkenfeld
Python-Forum Veteran
Beiträge: 1603 Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München
Sonntag 15. Juni 2008, 15:32
Ich versteh immer noch nicht wozu du da ein Tupel brauchst...
mitsuhiko
User
Beiträge: 1790 Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:
Sonntag 15. Juni 2008, 15:40
Weil ich blöd bin. Hab da ein 1 für eine 0 gedacht
TUFKAB – the user formerly known as blackbird
birkenfeld
Python-Forum Veteran
Beiträge: 1603 Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München
Sonntag 15. Juni 2008, 15:46
In dem Fall hätte ich
Code: Alles auswählen
fak = lambda n: n > 0 and reduce(mul, xrange(1, n + 1))
vorgeschlagen, aber das fällt wohl unter Cheating