这是我正在为我的代码类解决的一个练习,我试图在没有任何帮助的情况下解决它,但我不明白如何解决这个问题。 GPT 也帮不了我,因为它们打印的内容不同,所以总是错误的。
输出:
x x
x x
x x
x x x x x x x x x
想要的输出:
x x
x x
x x
x x x x x x x x x
代码:
numeroRecebido = 5
def EsqSide(numeroRecebidoL, numeroRecebidoC, i):
numeroRecebidoL = numeroRecebidoC - 3
while i <= numeroRecebidoL:
i = i + 1
print("x", end=" ")
spc = 0
while(spc <= numeroRecebidoC + i):
spc = spc + 1
print(" ", end="")
print("", end=" ")
print(" x")
def baseBottom(numeroRecebido, i):
if(numeroRecebido >= 5):
numeroRecebido = numeroRecebido * 2
numeroRecebido = numeroRecebido - 2
while(i <= numeroRecebido):
i = i + 1
print("x", end=" ")
else:
numeroRecebido = numeroRecebido * 2
while(i <= numeroRecebido):
i = i + 1
print("x", end=" ")
EsqSide(numeroRecebidoL=numeroRecebido, numeroRecebidoC=numeroRecebido, i=0)
baseBottom(numeroRecebido, i=0)
你有一些小的不一致之处,但它们足以在错误的位置显示最后一个
x
:
spc = 0
开始,而最初的 x
已使用一个位置之后执行此操作时,您会在显示该行之前增加
i
之前print(" ", end="")
添加一个空格,而底行每个元素有 2 个位置(一个空格和一个 x
)print("", end=" ")
,这可能是修复最后一个 x
这是一个固定版本:
def EsqSide(numeroRecebidoL, numeroRecebidoC, i):
numeroRecebidoL = numeroRecebidoC - 3
while i <= numeroRecebidoL:
print("x", end=" ")
spc = 1
while(spc < numeroRecebidoC + i):
spc = spc + 1
print(" ", end=" ")
print("x")
i = i + 1
有了它,我可以获得:
x x
x x
x x
x x x x x x x x x