PYTHON ANSÄTZE !!!

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.
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Donnerstag 29. November 2007, 21:04

Über welche Sprache reden wir nun? *scnr*
BlackJack

Donnerstag 29. November 2007, 21:55

Also in OCaml sähe es so aus:

Code: Alles auswählen

let rec fakultaet x = if x > 1 then x * fakultaet (x - 1) else 1 ;;
Wobei ich mich jetzt natürlich frage was die Fakultätsfunktion in einer Hitparadenverwaltung zu suchen hat!?
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Donnerstag 29. November 2007, 22:14

BlackJack hat geschrieben:Also in OCaml sähe es so aus
In Scheme hingegen eher so:

Code: Alles auswählen

(define (fakultaet x)
  (if (< x 1)
      1
      (* x (fakultaet (- x 1)))))
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Donnerstag 29. November 2007, 22:29

Hmmm..

Code: Alles auswählen

fac n | n <=1     = 1
      | otherwise = n * fac (n-1)
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
BlackJack

Freitag 30. November 2007, 02:12

Oder in x86-Assembler (NASM-Syntax, von C aufrufbar):

Code: Alles auswählen

section .text
global fac
; extern int fac(int x);
fac:
        mov eax, [esp+4]
        mov ecx, 1
rfac:
        cmp eax, ecx
        jg .rec_branch
        mov eax, ecx
        ret
.rec_branch:
        push eax
        dec eax
        call rfac
        pop edx
        mul edx
        ret
Jona
User
Beiträge: 94
Registriert: Sonntag 23. September 2007, 23:25

Freitag 30. November 2007, 09:18

es ist schon recht schwer dir zu folgen...
wenn du in einem forum postest solltest du darauf achten, dass auch jeder versteht was du willst.
immerhin schreist du nicht mehr so...
blackmamba28 hat geschrieben: nur das mit den operatoren kapiere ich nciht ganz
wie das gehen soll
was meinst du damit? meinst du "%" ?
blackmamba28 hat geschrieben: und zu return komm ich auch nciht weiter
kannst du mir das bitte erklären ??
du meinst du verstehst nicht was return tut?
hast du das beispiel dazu von blackjack ausgeführt?

blackmamba28 hat geschrieben: ich hab mal in wiki geguckt, aber ich hab null ahnung wie ich das darein bringen soll

Code: Alles auswählen

int fakultaet(int x)
{
    if (x > 1)
        return x * fakultaet(x-1);
    else
        return 1;
}
was willst du uns damit sagen?
soll das ein beispiel sein, was man tolles mit "return" anfangen kann?

hast du das tutorial durchgearbeitet?
Benutzeravatar
keppla
User
Beiträge: 483
Registriert: Montag 31. Oktober 2005, 00:12

Freitag 30. November 2007, 12:06

Sorry, aber bin ich der einzige, der glaubt, dass BlackMamba nur ein Troll ist?
Mal ernsthaft, wie realistisch ist es, dass seine Lehrerin im Chat unterrichtet, er bei Arbeiten das Internet nutzen darf, er jedesmal alle Reizthemen mitnimmt (Lern- und Schreibunfähigkeit, unhöflichkeit, verlangender Tonfall, Arroganz), und nichtmal gerafft haben soll, dass C kein python ist? Das er zu blöd ist, auch nur ein einziges Tutorial zu raffen? Das er zu blöd ist, die Funktion eines return-statements zu peilen? Und, wohlgemerkt, das ganze nach x Veruschen nicht?
Das er "zufällig" das erste mal an einem Freitag gepostet hat, an dem auf Heise nicht viel los war?
Ich glaube, da macht nur jemand den Versuch, entweder "How to ask Questions the Smart way" zu testen, oder "Die Jugend von Heute" zu diskreditieren.
windner
User
Beiträge: 76
Registriert: Freitag 19. Oktober 2007, 11:25

Freitag 30. November 2007, 14:16

keppla hat geschrieben:Sorry, aber bin ich der einzige, der glaubt, dass BlackMamba nur ein Troll ist?
Da war ich mir anfangs auch sehr sicher, aber dann dieses chat-log! Wenn Troll, dann einer mit sehr viel Langeweile.

BJack, Leo und gerold geben sich allen voran sehr viel Mühe, einen freundlichen Ton anzuschlagen, wovon ich selbst schon profitiert habe. Das macht dieses Forum zu einem der angnehmsten, die ich kenne. Ich könnte mir durchaus vorstellen, dass der blackmamba das ausnutzen und Ausfälle provozieren will.
Benutzeravatar
keppla
User
Beiträge: 483
Registriert: Montag 31. Oktober 2005, 00:12

Freitag 30. November 2007, 14:19

windner hat geschrieben:
keppla hat geschrieben:Sorry, aber bin ich der einzige, der glaubt, dass BlackMamba nur ein Troll ist?
Da war ich mir anfangs auch sehr sicher, aber dann dieses chat-log! Wenn Troll, dann einer mit sehr viel Langeweile.
Ist das nicht irgendwie Voraussetzung zum Trollen?
BJack, Leo und gerold geben sich allen voran sehr viel Mühe, einen freundlichen Ton anzuschlagen, wovon ich selbst schon profitiert habe.

Finde ich auch eine Bemerkenswerte Leistung.
Ich wollte auch nicht zur Unhöflichkeit aufrufen, mich wundert nur, dass tatsächlich noch jemand davon ausgeht, BlackMamba würde tatsächlich Hilfe brauchen oder wollen.
BlackJack

Freitag 30. November 2007, 15:11

Klar haben Trolle zu viel Zeit, aber *so* viel? Na egal, ich hatte eine Abwandlung von Hanlon's Razor im Hinterkopf als ich meine erste Antwort hier verfasste. Über das Assume Good Faith war ich schon hinaus. :-)
Benutzeravatar
keppla
User
Beiträge: 483
Registriert: Montag 31. Oktober 2005, 00:12

Freitag 30. November 2007, 16:47

BlackJack hat geschrieben:Klar haben Trolle zu viel Zeit, aber *so* viel?
So viel Zeit brauch er doch gar nicht. Irgendwo mal ein paar Hausaufgaben ergooglen, und ein Chatlog ausdenken. Braucht nicht so viel länger, als die Antworten, die geschrieben wurden, vermute ich mal.
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Samstag 1. Dezember 2007, 04:57

Wenn ich mir den Thread hier so ansehe, scheint blackmamba nicht der einzige zu sein, der zu viel Zeit hat ;)
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Samstag 1. Dezember 2007, 12:02

mawe hat geschrieben:Wenn ich mir den Thread hier so ansehe, scheint blackmamba nicht der einzige zu sein, der zu viel Zeit hat ;)
Hey, es hat auch sein gutes, dass Blackmamba hier gepostet hat. So konnte ich mich daran machen Mzscheme über `rlwrap` mit readline zu verbinden.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
BlackJack

Samstag 1. Dezember 2007, 13:21

@mawe: Keine Ahnung was Du meinst. :-)

Hier ist die Fakultät in XSLT:

Code: Alles auswählen

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
  <xsl:template name="main" match="/">
    <result>
      <xsl:call-template name="fac">
        <xsl:with-param name="n" select="argument/text()"/>
      </xsl:call-template>
    </result>
  </xsl:template>
  
  <xsl:template name="fac">
    <xsl:param name="n"/>
    <xsl:param name="accu" select="1"/>
    <xsl:choose>
      <xsl:when test="$n > 1">
        <xsl:call-template name="fac">
          <xsl:with-param name="n" select="$n - 1"/>
          <xsl:with-param name="accu" select="$accu * $n"/>
        </xsl:call-template>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="$accu"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>
  
</xsl:stylesheet>
Und ein kleiner Test:

Code: Alles auswählen

bj@s8n:~$ cat input.xml
<argument>10</argument>
bj@s8n:~$ xsltproc fac.xslt input.xml
<?xml version="1.0"?>
<result>3628800</result>
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Samstag 1. Dezember 2007, 14:31

Code: Alles auswählen

fac n = product [1..n]
:wink:
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Gesperrt