
ein paar Anfängerfragen zu Python
schau dir map PEP-8 an
Warum machst du eigentlich kein neuen Thread auf?
Achja, global funktioniert anders.
Warum machst du eigentlich kein neuen Thread auf?
Code: Alles auswählen
def is_negative(n):
return n < 0
Achja, global funktioniert anders.
Zuletzt geändert von jbs am Montag 3. Mai 2010, 17:16, insgesamt 1-mal geändert.
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
........."""danke""" für die hilfreiche antwort ....... ne im ernst ... gut ist relativ !
ps.: Hatte keine lust deswegen nen neuen aufzumachen ...
@ jbs ich weiß zwar nicht, was der unterschied ist .... ich raff es einfach nicht ... warum da die return anweisung geht und bei mir nicht ...
ps.: Hatte keine lust deswegen nen neuen aufzumachen ...
@ jbs ich weiß zwar nicht, was der unterschied ist .... ich raff es einfach nicht ... warum da die return anweisung geht und bei mir nicht ...
@Hero2: ``return`` "wirft" nichts. Das ist eher der Sprachgebrauch bei Ausnahmen.
Du gibst zwar etwas zurück, aber Du machst damit nichts. Die Namen in einer Funktion sind lokal zu der Funktion. Das `n` in `Schau()` hat nichts mit dem `n` in `start()` zu tun und ``global`` solltest Du ganz schnell vergessen. Das Namen in verschiedenen Funktionen nichts miteinander zu tun haben, sollte doch von Haskell im letzten Semester bekannt sein!? Das ist bei Python's Funktionen auch so. Du musst den Rückgabewert schon an der Stelle wo Du die Funktion aufrufst auch irgendwie verwenden. Zum Beispiel direkt ausgeben oder an einen Namen binden.
Du verwendest in dem Quelltext doch auch andere Funktionen aus der Standardbibliothek die einen Wert zurückgeben, mit dem Du dann etwas machst. Das funktioniert mit selbstgeschriebenen Funktionen genau so.
Falls das mit der Geburtstags-Aufgabe zu tun hat: Das solltest Du weder rekursiv, noch mit anhängen und testen auf "enthaltensein" in einer Liste lösen. Das dauert auch wenn man es effizienter löst schon lange genug -- so *deutlich* länger. Python ist eine imperative Sprache und in ALP2 geht's ja auch jetzt am Anfang um prozedurale, imperative Programmierung.
Du gibst zwar etwas zurück, aber Du machst damit nichts. Die Namen in einer Funktion sind lokal zu der Funktion. Das `n` in `Schau()` hat nichts mit dem `n` in `start()` zu tun und ``global`` solltest Du ganz schnell vergessen. Das Namen in verschiedenen Funktionen nichts miteinander zu tun haben, sollte doch von Haskell im letzten Semester bekannt sein!? Das ist bei Python's Funktionen auch so. Du musst den Rückgabewert schon an der Stelle wo Du die Funktion aufrufst auch irgendwie verwenden. Zum Beispiel direkt ausgeben oder an einen Namen binden.
Du verwendest in dem Quelltext doch auch andere Funktionen aus der Standardbibliothek die einen Wert zurückgeben, mit dem Du dann etwas machst. Das funktioniert mit selbstgeschriebenen Funktionen genau so.
Falls das mit der Geburtstags-Aufgabe zu tun hat: Das solltest Du weder rekursiv, noch mit anhängen und testen auf "enthaltensein" in einer Liste lösen. Das dauert auch wenn man es effizienter löst schon lange genug -- so *deutlich* länger. Python ist eine imperative Sprache und in ALP2 geht's ja auch jetzt am Anfang um prozedurale, imperative Programmierung.
geht nur indirekt um das geburtstagsteil ..... das hab ich schon auf nen anderen weg (nicht rekusiv gelöst). Ich hab aber hier einfach das Problem mit dem Verständnis, wie ich einen errechneten wert zurückgebe, der sozusagen in einer funktion berechnet wird und dann in einer anderen weitergegeben wird. Das ist sozusagen mehr allgemein zu verstehen. Deswegen hab ich auch nur 1-10 und co. gewählt. Ich sehe irgendwie noch nicht, wie die return arbeitet und solange muss ich leider immer alles über Global machen.
MFG
Hero2
MFG
Hero2
Vielleicht hilft das:
Code: Alles auswählen
In [2]: from random import random
In [3]: def test():
...: number = random()
...: print 'The number is %.2f.' % number
...: return number
...:
In [6]: result = test()
The number is 0.02.
In [7]: print result
0.024380243472