Первая идея: ASCII art
Особенностью Python являются синтаксис регулярного выражения и функция range()
, а также заполнитель массива [xxx for yyy in zzz]
.
import re
def ascii_art(attempt):
return re.sub(r'\d', '', re.sub('[0{0}].' \
.format(''.join([str(e) for e in range(attempt + 1, 10)])), ' ', """
3_3_3_3_3_3_
4| 2|
4| 2|
4(4x4_4X4) 2|
5| 2|
6/5|7\ 2|
5| 2|
8/ 9\ 2|
2|
2|
1_1_1_1_1_1_1|1_1_1_1_1_1_
"""))
for i in range(1, 10):
print(ascii_art(i))
Вторая идея: петли
Используйте enumerate
для цикла чтения слов. Используйте
for attempt in range(1, 10):
# inside main loop
...
print ('you suck!')
в качестве основного цикла. Оператор break
следует использовать с осторожностью, а не в качестве замены for
!
Если я что-то упустил, структура
for letters in lst:
if guess not in word:
...
break
if guess in word[i]:
...
будет более прозрачным, как
if guess not in word:
...
else:
index = word.find (guess)
...