Python importiere eigenes Modul - Name nicht definiert
Ich möchte mein grundlegendes Durcheinander-Spiel aktualisieren. Ich habe bereits dafür gesorgt, dass das Skript Wörter aus einer Textdatei abruft. Jetzt möchte ich sie in Module aufteilen, da ich unterschiedliche Textdateien mit unterschiedlichen Wörtern habe.
Ich habe mein Hauptskript, jumble_game.py
import random
import amazement
#Welcome the player
print("""
Welcome to Word Jumble.
Unscramble the letters to make a word.
""")
def wordlist(file):
with open(file) as afile:
global the_list
the_list = [word.strip(",") for line in afile for word in line.split()]
print(the_list)
def main():
score = 0
for i in range(4):
word = random.choice(the_list)
theWord = word
jumble = ""
while(len(word)>0):
position = random.randrange(len(word))
jumble+=word[position]
word=word[:position]+word[position+1:]
print("The jumble word is: {}".format(jumble))
#Getting player's guess
guess = input("Enter your guess: ").lower()
#congratulate the player
if(guess==theWord):
print("Congratulations! You guessed it")
score +=1
else:
print ("Sorry, wrong guess.")
print("You got {} out of 10".format(score))
#filename = "words/amazement_words.txt"
wordlist(filename)
main()
Ich möchte, dass die Datei amazement.py in jumble_game.py importiert wird, da ich möchte, dass der Benutzer die Gruppe auswählt, aus der die Wörter ausgewählt werden.
amazement.py:
filename = "amazement_words.txt"
Ich erhalte diesen Fehler:
File "jumble_game.py", line 49, in <module>
wordlist(filename)
NameError: name 'filename' is not defined
Wenn ich es anders mache, das Hauptskript in amazement.py importiere und letzteres ausführe, funktioniert der Code problemlos.
Alle Ahnung, was ich vermisse? Immer noch ein Python-Anfänger, also nimm mich mit. :)
Danke für Hilfe / Vorschläge!