Ich bin gerade dabei, ein textbasiertes Abenteuer in Python als Lernübung zu programmieren. Ich möchte, dass "Hilfe" ein globaler Befehl ist, der als Werte in einer Liste gespeichert wird, die (im Wesentlichen) jederzeit aufgerufen werden kann. Wenn der Spieler einen neuen Raum betritt oder sich die Hilfeoptionen ändern, setze ich die Liste help_commands mit den neuen Werten zurück. Aus irgendeinem Grund kann ich die Werte in help_commands
nicht erhalten, um innerhalb eine Funktion zu aktualisieren.Python: Lokale Werte einer globalen Liste zuweisen
Ich stellte eine ähnliche Frage zuvor (Python: TypeError: 'list' object is not callable on global variable) und wurde vorgeschlagen, ein Objekt könnte der Weg für mich zu gehen.
Ich bin ein wenig neu in Python und Objekte sind einer meiner schwächeren Aspekte, also könnte ich vielleicht ein Beispiel von jemandem bekommen?
player = {
"name": "",
"gender": "",
"race": "",
"class": "",
"HP": 10,
}
# global help_commands
help_commands = ["Save", "Quit", "Other"]
def help():
sub_help = ' | '.join(help_commands)
return "The following commands are avalible: " + sub_help
def help_test():
print help()
help_commands = ["Exit [direction], Open [object], Talk to [Person], Use [Item]"]
print help()
print "Before we go any further, I'd like to know a little more about you."
print "What is your name, young adventurer?"
player_name = raw_input(">> ").lower()
if player_name == "help":
help()
else:
player['name'] = player_name
print "It is nice to meet you, ", player['name'] + "."
help_test()
Ich denke, VB führt zu Kopfschütteln von vielen. Danke für Ihre Hilfe! –