Hallo,
Ich mache erste Versuche in der Programmierung mit Python und bin im Zuge dessen auf ein Problem gestoßen.
Leider schaffe ich es nicht, folgende Sache zum Laufen zu bringen:
Ich möchte ein paar Variablen definieren, die ich in weitere Folge in einer Formel verwende.
Eine der Variablen ist eine Liste (mit float-Werten).
def Percentile_for_continuous_Distri (distri):
distri = [2.0, 5.1, 7.4, 6.5, 5.4]
data = len(distri)
print(data)
Der Teil, der bei mir nicht funktioniert, sieht bisher so aus, wie oben geschrieben.
Mit der "len"-Funktion möchte ich abzählen, wie viele Werte in der Liste stehen.
Diesen Term habe ich dann als "data" benannt.
Das Problem: Die Print-Funktion erkennt "data" nicht und gibt mir die Fehlermeldung "Undefined name 'data' aus.
Könnte mir jemand sagen, wo da der Fehler liegt?
Vielen Dank, schöne Grüße
Liste; Name der Liste wird nicht erkannt
Bitte die Code-Tags zum setzen von Code hier benutzen. Denn sonst gehen die in Python wichtigen Einrueckungen verloren. Das ist der </>-Knopf im vollstaendigen Editor.
Und dann wird dein Problem auch recht schnell klar: du berechnest data in deiner Funktion. Aber rufst die Funktion weder auf, noch gibst du die errechneten Werte zurueck, womit das print davon ja nix wissen kann.
Und dann wird dein Problem auch recht schnell klar: du berechnest data in deiner Funktion. Aber rufst die Funktion weder auf, noch gibst du die errechneten Werte zurueck, womit das print davon ja nix wissen kann.
Code: Alles auswählen
def rechne():
data = 1000
return data
data = rechne()
print(data)
- __blackjack__
- User
- Beiträge: 14053
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Feirefitz: Was in dem Beispiel auch keinen Sinn macht ist das `distri`-Argument das überhaupt nicht verwendet wird.
Namen werden in Python klein_mit_unterstrichen geschrieben. Ausnahmen sind Konstanten (KOMPLETT_GROSS) und Klassennamen (PascalCase).
Namen sollten keine kryptischen Abkürzungen enthalten, oder gar nur daraus bestehen.
Funktions- und Methodennamen werden üblicherweise nach Tätigkeiten benannt, damit man weiss was die machen und sie leichter von eher passiven Werten unterscheiden zu können.
Namen werden in Python klein_mit_unterstrichen geschrieben. Ausnahmen sind Konstanten (KOMPLETT_GROSS) und Klassennamen (PascalCase).
Namen sollten keine kryptischen Abkürzungen enthalten, oder gar nur daraus bestehen.
Funktions- und Methodennamen werden üblicherweise nach Tätigkeiten benannt, damit man weiss was die machen und sie leichter von eher passiven Werten unterscheiden zu können.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Hallo, vielen Dank für die Antwort.
(1.) Ich weiß leider (noch) nicht, wie ich die Code-Tags verwende.
Ich habe jetzt mal das "distri"-Argument entfernt.
Wenn ich "print" aufrufe, erhalte ich wieder die Fehlermeldung "undefined name 'data'".
Mir ist allerdings nicht klar, warum. Sollte "data" nicht durch len(distribution) definiert sein?
Danke, viele Grüße
(Die Zeilen 2 bis 4 sind eingerückt)
def Percentile_for_continuous_Distri ():
distribution = [2.0, 5.1, 7.4, 6.5, 5.4]
data = len(distribution)
return data
print(data)
(1.) Ich weiß leider (noch) nicht, wie ich die Code-Tags verwende.
Ich habe jetzt mal das "distri"-Argument entfernt.
Wenn ich "print" aufrufe, erhalte ich wieder die Fehlermeldung "undefined name 'data'".
Mir ist allerdings nicht klar, warum. Sollte "data" nicht durch len(distribution) definiert sein?
Danke, viele Grüße
(Die Zeilen 2 bis 4 sind eingerückt)
def Percentile_for_continuous_Distri ():
distribution = [2.0, 5.1, 7.4, 6.5, 5.4]
data = len(distribution)
return data
print(data)
Damit eine Funktion ausgeführt wird, muß man sie auch aufrufen. Das mit den Abkürzungen gilt natürlich auch für Funktionsnamen:
Code: Alles auswählen
def percentile_for_continuous_distribution():
distribution = [2.0, 5.1, 7.4, 6.5, 5.4]
return len(distribution)
data = percentile_for_continuous_distribution()
print(data)
Hallo,
Der Python-Interpreter für nicht jeden Code einfach so von oben nach unten aus. Du musst gezielt die Funktion "Percentile_for_continuous_Distri" aufrufen und das was in der Funktion zurück gegeben wird, an einen Namen binden.
Beispiel
Grüße
Dennis
Ja "data" ist definiert in der Funktion. Mit "return" gibst du "data" auch an denjenigen zurück, der die Funktion aufruft, aber genau der fehlt.Feirefitz hat geschrieben: Montag 21. August 2023, 18:31Code: Alles auswählen
def Percentile_for_continuous_Distri (): distribution = [2.0, 5.1, 7.4, 6.5, 5.4] data = len(distribution) return data print(data)
Der Python-Interpreter für nicht jeden Code einfach so von oben nach unten aus. Du musst gezielt die Funktion "Percentile_for_continuous_Distri" aufrufen und das was in der Funktion zurück gegeben wird, an einen Namen binden.
Beispiel
Code: Alles auswählen
def mach_was():
return "Hallo"
# Hier wird die Funktion aufgerufen und das was sie zurueck gibt
# ist hier unter "rueckgabe_der_funktion" verfügbar
rueckgabe_der_funktion = mach_was()
print(rueckgabe_der_funktion)
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]