Выйдя из цикла?

-9

Я беру класс программирования в своей школе, и мы только начали с python. Мы должны сделать нашу кодировку печатной платой tic tac с использованием цикла, но я не могу понять, как закрыть цикл и добавить последнюю строку кодирования. Вот что я имею до моего кодирования:

bob = '+----+----+----+'
joe = '| | | |'
index = 0
while index < 3:
print(bob)
print(joe)
print(joe)
index = index + 1
print(bob)

(ps подчеркивания являются вкладками в кодировке.) Последняя строка - это строка, которую я пытаюсь выйти из цикла. Я исследовал его, но я все, что нашел, не работает, я просто получаю синтаксис SyntaxError: недопустимый. Кто-нибудь знает, как я могу научиться исправлять это?

спросил(а) 2021-01-19T21:06:04+03:00 6 месяцев назад
1
Решение
78

Вы хотите, чтобы это выглядело так:

bob = '+----+----+----+'
joe = '| | | |'

index = 0

while index < 3:
print(bob)
print(joe)
print(joe)
index = index + 1

print(bob)

Выход:

+----+----+----+
| | | |
| | | |
+----+----+----+
| | | |
| | | |
+----+----+----+
| | | |
| | | |
+----+----+----+

Вы также можете использовать диапазон для управления циклом. Следующий эквивалент:

bob = '+----+----+----+'
joe = '| | | |'

for index in range(3):
print(bob)
print(joe)
print(joe)

print(bob)

ответил(а) 2021-01-19T21:06:04+03:00 6 месяцев назад
63

Вот более питоническая версия, которую вы можете использовать, чтобы произвести впечатление на своего учителя;)

from itertools import cycle
bob = '+----+----+----+'
joe = '| | | |'
board = '\n'.join([r for _, r in zip(range(10), cycle((bob, joe, joe)))])
print(board)

производит

+----+----+----+
| | | |
| | | |
+----+----+----+
| | | |
| | | |
+----+----+----+
| | | |
| | | |
+----+----+----+

ответил(а) 2021-01-19T21:06:04+03:00 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема