python return - "Name nicht definiert"
Ich versuche, mit diesem Skript Informationen in eine einfache Textdatei zu schreiben. Ich lerne immer noch Python.
Das Problem liegt hier:
file_text = """%s SHOOT DETAILS\n
Number of shoots:\t %s
Maximum range:\t %s
Number of firers:\t %s
Number of lanes active:\t %s
Number of details:\t %s
Troops per detail:\t %s
\n
RANGE STAFF
Ammo NCO:\t %s
Medical Supervisor:\t %s
IC Butts:\t %s""" % (shoot_name, number_of_shoots, max_range, number_of_firers, number_of_lanes, number_of_details, size_of_details, ammo_nco, medical_supervisor, ic_butts)
Die Fehlermeldung: NameError: Name 'number_of_details' ist nicht definiert
Das oben Gesagte wird (angeblich) in eine Datei mit folgendem Inhalt geschrieben:
def generatedocument():
file = open(file_name, 'w')
file.write(file_text)
os.startfile(file_name)
Allerdings habe ich es früher in der folgenden Funktion definiert:
def detailformation():
number_of_details = number_of_firers / number_of_lanes
return number_of_details
Identische Probleme treten für die Größe_der_Details auf, definiert:
def detailsizer():
size_of_details = number_of_firers / detailformation()
return size_of_details
Und auch bei der Funktion der Bereichsauswahl gibt es manchmal einen ähnlichen Fehler. Sie kommen von dieser Funktion, die sie zufällig aus einer Liste auswählt:
def range_staff():
print "\n"
ammo_nco = (random.choice(fiveplatoon))
print "Ammo NCO: "+ammo_nco
fiveplatoon.remove(ammo_nco)
medical_supervisor = (random.choice(fiveplatoon))
print "Medical supervisor: "+medical_supervisor
fiveplatoon.remove(medical_supervisor)
ic_butts = (random.choice(fiveplatoon))
print "IC Butts/Console: "+ic_butts
fiveplatoon.remove(ic_butts)
return range_staff
Es scheint, als würde mir hier etwas Grundlegendes fehlen. Wie kann ich Python erkennen lassen?