Переменная в классе обнуляется после выполнения цикла
Переменная в классе обнуляется после выполнения цикла. Хотелось, чтобы переменная so_far сохраняла значение с каждым новым запуском цикла. Заранее спасибо!
word = 'qwerty'
class Test():
def __init__(self):
self.word = word
self.so_far = '_' *len(word)
def update(self):
new = ''
if letter in self.word:
for i in range(len(self.word)):
if letter == self.word[i]:
new += letter
else:
new += self.so_far[i]
self.so_far = new
print(self.so_far)
while True:
letter = input()
X = Test()
X.update()
Ответы (1 шт):
Автор решения: Сергей Ш
→ Ссылка
class Test():
def __init__(self, word):
self.word = word
self.so_far = '_' * len(word)
def __str__(self):
return self.so_far
def update(self):
new = ''
if letter in self.word:
for i, z in enumerate(self.word):
if letter == self.word[i]: # if letter == z
new += letter
else:
new += self.so_far[i]
self.so_far = new
def update1(self, letter):
v = [letter if letter == c else z for z, c in zip(self.so_far, self.word)]
self.so_far = ''.join(v)
X = Test('qwerty')
while True:
letter = input()
X.update1(letter)
print(X)
q
q_____
w
qw____