Я пытаюсь создать простую игру "HangMan", чтобы улучшить свои слабые python навыки класса
, но я столкнулся с проблемой ..
Когда в слове есть 2 из те же буквы (например, «Тест») он добавит только первую букву, а не в мою вторую для l oop, есть ли способ проверить, есть ли дубликаты, использующие a для l oop?
edit: попытался добавить код, но он не работал, поэтому я публикую его изображение Вот код:
print("HANGMAN!!!!")
val = input("Enter a word ")
lst = []
lst2 = []
class Hangman:
def __init__(self, val, lst, lst2):
self.val = val
self.lst = lst
self.lst2 = lst2
print("The word has", len(self.val), 'letters')
z = len(self.val)
for n in range(z):
self.lst2.append('_')
print(self.lst2)
#print(list(val))
self.lst = list(val)
#print(self.lst)
def guess_time(self):
res = input("Please enter a letter: ")
y = 0
for x in self.lst:
if x == res:
print(self.lst.index(x))
new_lst = self.lst.index(x)
print("Correct letter")
self.lst2.pop(new_lst)
self.lst2.insert(self.lst.index(x), res)
print('inserting the letter at', self.lst.index(x))
#Here is the problem if the word has 2 of the same letters
y += 1
print(self.lst2)
h = Hangman(val,lst, lst2)
i = 6
while i > 1:
h.guess_time()
i -= 1
print("You have ", i, 'tries left')
if i == 1:
print("GoodBye")