2014-12-05 1 views
-1

Как бы написать следующее?Python 3, для a в списке и в слове:

a='somelongword' 
for r in a_list and for r in a: 
    if r==x: new_list.append(r) 
    else: return 1 

Очевидно, что приведенное выше заявление является неправильным. Как я могу его переписать?


Извините, я попытался облегчить чтение! Я хочу проверить, из списка букв, a_list, если какие-либо из этих букв также находятся в слове a.

На данный момент мой код проверяет это:

for r in reveal_word(a): 
      if r==guess: new_list.append(r) 
      else: new_list.append('*') 

Таким образом, для некоторой буквы в слове a, если r равно какие-то угадываются буквы, а затем добавить, что письмо к списку. В противном случае, когда эта буква не равна угаданному письму, добавьте звездочки в новый список.

Это для части кода для палача. Итак, я хочу, чтобы он просматривал список угаданных букв, проверьте, содержит ли «секретное» слово какие-либо из этих букв, и если да, добавьте их в новый список и там, где он не содержит этих букв, добавьте звездочки , я затем добавить это объект словарь ключа 'guessed_word' или что-то ...

+1

Что вы хотите сделать? – Marcin

+1

В приведенном выше примере ни 'a_list', ни' x' не определены, не понятно, что вы хотите сделать. –

+0

Возможно, вы запрашиваете 'для r, x в zip (a_list, a):'? – ikdc

ответ

0

Предполагая, что это то, что вы хотите

>>> word ='somelongword' 
>>> guesses = ['a', 'd', 'm', 'e', 's'] 
>>> [c if c in guesses else '*' for c in word] 
['s', '*', 'm', 'e', '*', '*', '*', '*', '*', '*', '*', 'd'] 

отпечатан как строка

>>> print(''.join([c if c in guesses else '*' for c in word])) 
s*me*******d 

Это похоже на то, что вы хотите для палача.

0

Try:

a='somelongword' 
for r in a_list: 
    if r in a: 
     if r==x: new_list.append(r) 
     else: return 1 
Смежные вопросы