【问题标题】:Using python, How can I make a pyramid using for loops?使用 python,如何使用 for 循环制作金字塔?
【发布时间】:2013-04-09 22:36:49
【问题描述】:

我在我的一堂课上遇到了这个问题,我不太明白。这是我们被要求做的。

"在 FOR 循环中编写一个只有一个打印命令和一个打印命令的程序,以提供以下输出。您可以在 FOR/NEXT 循环之外使用另一个 PRINT 命令。字母 'Y' 只能使用一次在你的程序中。”

它应该是这样的

是的
YY
年年
年年年年
年年年年
YYYYYY

我很想知道该怎么做,整个星期都在困扰我,但这只是一个额外的学分问题,所以我的老师从来没有解释过怎么做! :(

非常感谢您的帮助! -亚历克斯

【问题讨论】:

标签: python for-loop


【解决方案1】:

你可以做一些像这样简单的事情。

def create_pyramid(rows):
    for i in range(rows):
        print('Y' * ( i + 1))

create_pyramid(6)

基本上,您可以使用所需的行数设置 for loop。如果您使用range(number_of_rows),您将得到一个从 0 开始到 1、2 等的循环,直到它循环了 6 次。然后,您可以使用 multiplying 使用 Y 在每行中使用 'Y' * i 的字符数,但请记住,for 循环从零开始计数,因此您需要将 add + 1 到您的i 变量。最后,您使用print 将每行的Y 字符数输出到屏幕。

这样的输出是:

Y
YY
YYY
YYYY
YYYYY

【讨论】:

  • -1 为他破坏了那个啊哈时刻 :( ...至少你解释了它所以 +1 ......
  • @JoranBeasley 我出于这个原因删除了我的答案:)。
  • @JoranBeasley 这很可能是基于这个postimg.org/image/bp4v98ytf 我知道堆栈中至少有少数重复项没有实际解释,所以我想我实际上会给他一个回答一次解释,这样他就可以真正学到一些东西。
  • 除了@JoranBeasley,这些类型的答案不值得投票,但你知道这是他们开始寻找的第一个地方,如果他们擅长谷歌搜索,他们会发现他们的答案。
  • 谢谢!我真的很感激这一点! :)
【解决方案2】:

试试:

for i in range(1,10):                    
    for j in range(0+i):        
    print 'y',        
 print '\n'

【讨论】:

  • 在 Python 3.5 中测试过,这不会运行
【解决方案3】:
for x in range(1,6+1):
    print ('Y'*x)

您可以将 6 替换为行数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-07
    • 2016-11-21
    • 1970-01-01
    • 2013-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多