Доброго времени суток.
По тихоньку изучаю питон. Есть задача:
Написать функцию, аргументами которой являются string и list
Подробнее объясню на примере:
В качестве аргментов передаем secretWord = 'test' и lettersGuessed = [t, e, f, k]
На выходе функция должна вернуть строку с теми элементами secretWord, которые есть в letterGuessed. На месте отсутствующих элементов должны стоять прочерки '_'. Так же между всеми символами должны быть пробелы.
Я задачу решил, но жутко не красиво. Скажу сразу, с питоном только знакомлюсь, как и с программированием в целом. Совсем забыл, python версии 2.7.
Вот мое решение:
def getGuessedWord(secretWord, lettersGuessed):
guessed = [] # создаем новый пустой список (временный)
for e in secretWord:
if e in lettersGuessed: # если символ в строке, то добавляем его в новый список
guessed.append(e)
else: # если нет, то ставим прочерк
guessed.append('_')
for i in range(len(guessed), 0, -1): # таким способом я вставлял пробелы после символа (ничего другого не придумал)
guessed.insert(i, ' ')
guessed.pop(len(guessed)-1) # т.к. предыдущая чать кода весьма идиотская, приходится лишний пробел удалять
strGuessed = '' # собственно содаем строку и переносим в нее символы из временного списка
for e in guessed:
strGuessed += e
return strGuessed
word = 'test'
gw = ['t', 'e', 'f', 'k']
print getGuessedWord(word, gw)
Если найдутся те, кому не лень расскажите, как нужно было решить задачу "по человечески".