Я только что вернулся в python и хотел поэкспериментировать с классами, когда я запускаю этот код и хочу добавить слово, появляется эта ошибка.
What would you like to do(add)
Word please(banana)
Traceback (most recent call last):
File "/Users/gabrieltozman/Documents/word list.py", line 58, in <module>
choice.addword()
File "/Users/gabrieltozman/Documents/word list.py", line 20, in addword
words.append(choice)
NameError: name 'words' is not defined
Это может быть глупым ошибка с моей стороны, но помощь приветствуется. :)
import random
import csv
running=True
count=0
Die=csv.register_dialect('Die',delimiter=',',quotechar='|',quoting=csv.QUOTE_MINIMAL)
class Wordlist:
words=[]
def __init__(self,words,count,choice):
self.words=words
self.count=count
self.choice=choice
def shuffle(words):
random.shuffle(words)
return(words)
def werdcount(words):
for i in words:
i=i+1
return (count)
def addword(choice):
words.append(choice)
return
def removeword(choice):
for i in words:
if self.words[i] == choice:
self.words.remove(words[i])
i=i+1
return
def importlist(choice):
with open('/Users/____/Desktop/wordlist.csv','r',newline='')as csvfile:
reading=csv.reader(csvfile,dialect=Die)
i=0
for row in reader:
self.words.append(row[i])
i=i+1
return (words)
def exportlist(words):
with open('/Users/____/Desktop/wordlist.csv','r',newline='')as csvfile, open('/Users/____/Desktop/wordlist.csv','w',newline='')as csvfile2:
reading=csv.reader(csvfile,Die)
writing=csv.writer(csvfile2,Die)
i=0
x=0
for row in reading:
i=i+1
for row in row[i]:
writing.writerows(self.words[x])
x=x+1
i=i+1
return
while running:
action=input("What would you like to do")
if action == "STOP":
running=False
if action == "shuffle":
words=shuffle(words)
if action == "add":
choice=Wordlist(None,None,(input("Word please")))
choice.addword()
print(words)
if action == "export":
words.exportlist()
Этот код неполон, но я сейчас только отлаживаю его, и я пытался многое исправить, но ни один из они, казалось, исправили это. Любая помощь будет высоко ценится.