Python Isosceles三角形

时间:2016-10-08 10:53:20

标签: python-3.x

我有一个作业,我必须使用单个print语句创建一个等腰三角形而不使用* -operator。我的老师给了我以下不完整的代码:

def characters(char, n):
    ret = ""
    for i in range(n):
        ret += char

def stars(n):
    return characters("*", n)

def spaces(n):
    return characters(" ", n)

def triangle(n):
    ret = ""
    for i in range(n):
        ret += spaces() + stars()
    return ret

h = int(input("hoogte: "))

print(triangle(h))

如何完成此代码以及chardef characters做了什么?

1 个答案:

答案 0 :(得分:0)

好吧,你正在形成一个要打印的字符串。因为你必须打印一个三角形,所以预期的输出就像是:

*******
 *   *
  * *
   *

该字符串由空格和星星组成。 characters是一个辅助函数,其中包含n个相同字符的字符串(其中一个是通过char参数设置的。)

在当前实现中,您有一行ret += spaces() + stars(),其中函数没有参数。您必须了解,您需要多少空间和星星。但这实际上还不够。这行

是什么字符
 *   *

包含?是否足以每行拨打spacesstars一次?并且不要忘记行尾!

PS如果你需要

,那么从作业中就不清楚了
*
**
* *
*  *
* *
**
*

代替或者其他。你必须要求你的老师确保你做了所要求的事情。