gpt4 book ai didi

python - 我在 python 中打印钻石代码的问题

转载 作者:太空宇宙 更新时间:2023-11-03 21:40:01 25 4
gpt4 key购买 nike

我的任务是打印一颗由 * 制成的钻石,给定自然数 n。行数等于 2n,列数等于 2n + 2。我不需要帮助来完成此代码,而是需要帮助找出当前代码中的错误。

import check

def acc_fn(rows,stars,columns):

if rows > 2:
print(stars + '-' * (columns - rows -1) + ('*' * rows) + '-' * \
(columns - rows -1))
return acc_fn(rows -2 , stars, columns -1)
else:
print(stars + '-' * (columns - rows -1) + ('*' * rows) + '-' * \
(columns - rows -1))

def printdiamond (n):

return acc_fn(2*n,'', 2*n +2)

check.set_screen( "-**********-\n-**********-\n--********--\n---******---\
\n----****----\n-----**-----")
check.expect("Q3T1", printdiamond(5), None)

那么应该输出什么:

-**********-
--********--
---******---
----****----
-----**-----

现在输出什么:

-**********-
--********--
---******---
----****----
-----**-----
-----

问题似乎出在打印行上,但我无法确定它。我还意识到这不是钻石,但在确定此错误后我的下一个错误将是由于钻石的上半部分造成的。我知道如何做到这一点,因此我不需要帮助。

最佳答案

我只是想发布此内容,以防有人遇到类似的问题,或者更确切地说,像我一样困惑。这里发生的事情是对该模块结构的误解。检查模块有助于测试您的代码。 Check.set_screen 接受一个输入,这是 check.expect 测试的预期打印结果。然而,检查期望模块测试函数返回的内容。之所以在菱形的末尾多了一行-----,是因为每个check.set_screen和checkexpect测试集都以这行打印结束,以指示打印输出的结束。

关于python - 我在 python 中打印钻石代码的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52935890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com