提问人:DummyWComputer 提问时间:9/30/2023 最后编辑:BarmarDummyWComputer 更新时间:9/30/2023 访问量:37
我的 True 或 False 函数正在工作,但如何在 True 语句中以一致的间距交替行?
My True or False function is working but how do I alternate the rows with consistent spacing in the True statement?
问:
我尝试重新排列代码,我非常接近弄清楚这一点,但在我的 True 语句中,结果接近正确,但我无法弄清楚。此家庭作业要求行与空格交替,如果为 True,但如果为 False,则它们必须形成一个正方形。
我的代码:
def get_brick_pattern(max_rows=1, max_cols=1, running_bond=True or False):
brick = "🧱"
result = ""
columns = max_cols
rows = max_rows
if running_bond is True:
for rows in range(max_rows):
for columns in range(max_cols):
if (rows) % 2 == 0:
result += brick
else:
result += " " + brick
result += "\n"
return result
elif running_bond is False:
for rows in range(1, max_rows+1):
for columns in range(1, max_cols+1):
result += brick
result += "\n"
return result
print(get_brick_pattern(3, 6, True))---for testing
结果应该看起来像一个示例:
🧱🧱🧱🧱🧱🧱🧱🧱
🧱🧱🧱🧱🧱🧱🧱🧱
🧱🧱🧱🧱🧱🧱🧱🧱
我当前对 True 语句的输出如下所示:
🧱🧱🧱🧱🧱🧱
🧱 🧱 🧱 🧱 🧱 🧱
🧱🧱🧱🧱🧱🧱
答:
0赞
Barmar
9/30/2023
#1
您不应该在内循环中的每块砖之前添加一个空格,就在行的开头。将检查移至外循环。if rows % 2 == 0:
那么你根本不需要内部循环,因为你可以使用重复一个字符串 N 次。*
for rows in range(max_rows):
if row % 2 == 1:
result += " "
result += brick * max_cols
result += "\n"
return result
0赞
Reilas
9/30/2023
#2
"...如果为 True,则行与空格交替,但如果为 False,则它们必须形成一个正方形......”
检查内循环前的行 % 2。
for rows in range(max_rows):
if (rows) % 2: result += ' '
for columns in range(max_cols):
result += brick
result += "\n"
输出,用于 3、6。
🧱🧱🧱🧱🧱🧱
🧱🧱🧱🧱🧱🧱
🧱🧱🧱🧱🧱🧱
评论
running_bond=True or False
True or False
True
running_bond=True