Wenn in der vorletzten Zeile (if__......) "name" steht funktioniert das Programm. Habe auch hier den Begriff auf "mannschaftsname" geändert, um ihn anzugleichen. Mit "mannschaftsname" funktioniert es nicht (s. Bildschirmausdruck). Es kommt dann die Fehlermeldung "NameError: name '__mannschaftsname__' is not defined"
Warum funktioniert es nicht?
Code: Alles auswählen
#!/usr/bin/env python3
MANNSCHAFTSANZAHL = 4
MANNSCHAFTSNAMEN_DATEINAME = "Mannschaftsnamen.txt"
def mannschaftsnamen_eingeben(MANNSCHAFTSANZAHL):
mannschaftsnamen = []
for i in range(1, MANNSCHAFTSANZAHL + 1):
mannschaftsnamen.append(input(f"Gebe den Namen der {i}. Mannschaft ein: "))
mannschaftsnamen.sort()
return mannschaftsnamen
def mannschaftsnamen_speichern(mannschaftsnamen, MANNSCHAFTSNAMEN_DATEINAME):
with open(MANNSCHAFTSNAMEN_DATEINAME, "w", encoding="utf-8") as datei:
for mannschaftsname in mannschaftsnamen:
datei.write(f"{mannschaftsname}\n")
def mannschaftsnamen_laden(MANNSCHAFTSNAMEN_DATEINAME):
mannschaftsnamen = []
with open(MANNSCHAFTSNAMEN_DATEINAME, encoding="utf-8") as lines:
for line in lines:
mannschaftsnamen.append(line.rstrip())
return mannschaftsnamen
def print_numbered_items(items):
for i, item in enumerate(items, 1):
print(f"{i}. {item}")
def main():
print("Eingabe")
mannschaftsnamen = mannschaftsnamen_eingeben(MANNSCHAFTSANZAHL)
print_numbered_items(mannschaftsnamen)
print("Speichern")
mannschaftsnamen_speichern(mannschaftsnamen, MANNSCHAFTSNAMEN_DATEINAME)
print("Laden")
mannschaftsnamen = mannschaftsnamen_laden(MANNSCHAFTSNAMEN_DATEINAME)
print_numbered_items(mannschaftsnamen)
if __mannschaftsname__ == "__main__":
main()
Gebe den Namen der 1. Mannschaft ein: Dortmund
Gebe den Namen der 2. Mannschaft ein: HSV
Gebe den Namen der 3. Mannschaft ein: Augsburg
Gebe den Namen der 4. Mannschaft ein: Schalke
1. Augsburg
2. Dortmund
3. HSV
4. Schalke
Speichern
Laden
1. Augsburg
2. Dortmund
3. HSV
4. Schalke
>>>
= RESTART: C:/Users/pc/Desktop/Python Programme/20200407 Code von User def ergänzt von mir 02.py
Traceback (most recent call last):
File "C:/Users/pc/Desktop/Python Programme/20200407 Code von User def ergänzt von mir 02.py", line 41, in <module>
if __mannschaftsname__ == "__main__":
NameError: name '__mannschaftsname__' is not defined
>>>