Во-первых, вам не нужна переменная handlist
;Вы можете просто объединить значение raw_input
с hand
.
. Вы можете сохранить первый raw_input
, запустив цикл while
с hand
как пустую строку, поскольку каждая строка имеет startswith("")
as True
.
Наконец, нам нужно найти лучший способ проверить, начинается ли какой-либо из элементов в wordlist
с hand
.Для этого мы могли бы использовать понимание списка:
[item for item in wordlist if item.startswith(hand)]
, а затем проверить длину возвращаемого списка, если оно больше нуля.
Однако, еще лучше, в python есть функция any()
, которая идеально подходит для этого: она возвращает True
, если какой-либо элемент итерируемого элемента равен True
, поэтому мы простоstartswith()
для каждого члена wordlist
.
Собрав все это вместе, мы получим:
wordlist = ['hello', 'bye']
hand = ""
while any(item.startswith(hand) for item in wordlist):
hand += raw_input('enter letter: ')
print 'you loose'