【问题标题】:Printing an upside down triangle in Python 3.4.2? [duplicate]在 Python 3.4.2 中打印一个倒三角形? [复制]
【发布时间】:2015-04-05 21:42:14
【问题描述】:

因此,对于我的编程课,我应该编写一个输出以下内容的程序:

oooooo
ooooo
oooo
ooo
oo
o

我已经能够使程序输出三角形的正面朝上,但即使在网上寻求帮助后,我也无法找到将三角形倒置的解决方案。这是我的代码:

def main():

base_size = 6

for r in range (base_size):
    for c in range (r + 1):
        print('o', end = '')
    print()

main()

这是我得到的输出:

o
oo
ooo
oooo
ooooo
oooooo

有人可以帮帮我吗?我是新手,所以这对我来说有点困难,尽管对你们来说可能很简单。

提前致谢!

【问题讨论】:

  • 作为一个技巧,您可以使用rangestep 参数在一个范围内后退。 range(10, 0, -1) 会给你10, 9, 8, 7, 6, 5, 4, 3, 2, 1
  • 看看reversed函数。
  • 提示:rangestep 参数可以为负数。
  • @SethMMorton -- 恭喜你的想法与其他评论者不同 -- 我真的很喜欢你的建议 :-)
  • @DSM 有一些拼写错误——显然我不知道如何使用range。我终于到了那里! :)

标签: python loops python-3.x


【解决方案1】:

你很亲密。您可以使用range 功能,但使用-1n 步行到0

你也可以用一个字符乘以一个整数来组成一个字符串。

def triangle(n):
    for i in range(n, 0, -1):
        print('o' * i)

测试

>>> triangle(6)
oooooo
ooooo
oooo
ooo
oo
o

【讨论】:

    【解决方案2】:

    带有负步长的范围将在 step=-1 时达到目的(end, ini, step),您也可以通过使用列表来消除一个 for 循环并改为加入:

    def trig(base):
       for i in range(base, 0, -1):
           l = ['o']*i
           print(''.join(l))
    

    编辑:@Cyber​​ 的答案要好得多,不知道你可以直接在字符串中使用“times”运算符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-29
      • 1970-01-01
      • 2016-02-05
      • 1970-01-01
      相关资源
      最近更新 更多