durumuna uyan liste öğelerinin değiştirilmesi bir süredir kod satırımın üzerine sıkışmış durumdayım ve neden olduğu gibi geri dönme konusunda bir kayıp yapıyorum. amacım tek tek içinlambda
['a', '_', '_']
Benim önceki çözümün bir dönüş olduğunu endeksi için artan değerle listesinde döngü oldu, ve Oysa
guess = 'a'
word = ['a', 'b', 'c']
board = ['_', '_', '_']
board = list(map(lambda x: guess if word[board.index(x)] == guess else x, board))
print(board)
Bu
['a', 'a', 'a']
döndürür tahmin edilene karşı her girişi kontrol edin ve aynı indekste tahta listesini değiştirmek için, ama ben lambda
kullanarak daha özlü ve pythonic bir şekilde olduğunu hissediyorum, ben sadece oldukça yapamam anla.
problemi, tüm 'x'lerin' _' olacak ve 'board.index (x)' her zaman, '0' için geri dönecektir, çünkü bu, tahtadaki ilk alt çizgi olduğundan. Değerleri ve indeksleri bağımsız olarak – Hamms
üzerinden yineleyebilmek için 'numaralandırma (tahta) 'kullanmanız gerekecek; ayrıca bir haritadan ziyade liste kavramalarını kullanmanızı tavsiye ederim; Bu daha kolay, daha okunaklı ve kullanım durumunuza daha uygun – Hamms