0
我正在尝试使用while循环创建一个简单的*
金字塔,但它停止在前五个*
。我无法弄清楚为什么。如何在Ruby中嵌套while循环
这是我的代码:
x = 5
y = 0
while x > 0
while y < x
print "*"
y +=1
end
x -= 1
end
我正在尝试使用while循环创建一个简单的*
金字塔,但它停止在前五个*
。我无法弄清楚为什么。如何在Ruby中嵌套while循环
这是我的代码:
x = 5
y = 0
while x > 0
while y < x
print "*"
y +=1
end
x -= 1
end
你永远不重置y
或打印一个新行
x = 5
y = 0
while x > 0
while y < x
print "*"
y +=1
end
print "\n"
y = 0
x -= 1
end
输出
*****
****
***
**
*
这是不好的红宝石寿
这是一个更加地道的解决方案
5.downto(1) do |x|
1.upto(x) do |y|
print "*"
end
print "\n"
end
输出
*****
****
***
**
*
我不知道的“金字塔”的最终形状,你在找什么,但你可能可以调整上述技巧以获得所需的输出
你可能会解释为什么''downto''和'upto'用块比'while'块更好。 –
您可以粘贴最终输出吗? – naomik