问题描述
我在学校上编程课,我们刚开始学习 python。 我们应该使用循环使我们的编码打印井字游戏板,但我不知道如何关闭循环并添加最后一行编码。 就我的编码而言,这是我所拥有的:
bob = '+----+----+----+'
joe = '| | | |'
index = 0
while index < 3:
print(bob)
print(joe)
print(joe)
index = index + 1
print(bob)
(ps 下划线是编码中的制表符。)最后一行是我试图退出循环的行。 我已经研究过它,但我发现的一切都不起作用,我只是得到一个“语法错误:无效语法”。 有谁知道我如何学习如何解决这个问题?
1楼
您希望它看起来像这样:
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)
2楼
这是一个更 Pythonic 的版本,你可以用它来打动你的老师;)
from itertools import cycle
bob = '+----+----+----+'
joe = '| | | |'
board = '\n'.join([r for _, r in zip(range(10), cycle((bob, joe, joe)))])
print(board)
产生
+----+----+----+
| | | |
| | | |
+----+----+----+
| | | |
| | | |
+----+----+----+
| | | |
| | | |
+----+----+----+