我需要从右边开始创建一个直角三角形。前任。(- 是空格)
––––X –––XX ––XXX –XXXX XXXXXX
一个数字(和字符;前 X)将在 runner 之前给出。我得到了哪个代码。我需要代码来制作三角形。例如,如果数字为 5,则每行最多可添加 5 个字符,从一个 X 开始计数,并带有 4 个空格。然后将有 5 行最后将是所有 X。
更新:我的代码打印出来
––––X –––X ––X –X X(– 的空格,字符后没有空格)
好的,让我们从数字 5 开始。最好的办法是简单地考虑每行必须输出什么,然后循环执行该操作。
使用该数字,您必须输出 5 行,如下所示(我将使用.
空格,因为它更容易辨别相邻的行):
....X
...XX
..XXX
.XXXX
XXXXX
查看每一行如下:
x
.x
。x
。x
。x
。我在这里感觉到一个模式 ((4,1), (3,2), (2,3), (1,4), (0,5)) - 第一个数字从n-1
(4 在这种情况下) 开始并减少到 0。第二个数字从 1 开始并增加到n
(在这种情况下为 5)。
在伪代码中(这是你从我这里得到的关于家庭作业类型的问题),它看起来像:
def maketriangle (n):
for lineidx = 1 to n:
for charidx = 1 to n - lineidx: // 4 3 2 1 0
output " "
for charidx = 1 to lineidx: // 1 2 3 4 5
output "X"
output newline
您的工作是将其转换为真正的代码。
提示:假设您要打印n
xn
字段并且当前行索引是i
. 然后您需要打印 Xn-i
次(或n-i-1
次数取决于您的索引i
是从 0 开始还是从 1 开始)