Python 3.x Python等腰三角形

Python 3.x Python等腰三角形,python-3.x,Python 3.x,我有一个作业,在作业中,我必须用一个打印语句生成一个等腰三角形,而不使用*-运算符。我的老师给了我以下不完整的代码: 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):

我有一个作业,在作业中,我必须用一个打印语句生成一个等腰三角形,而不使用*-运算符。我的老师给了我以下不完整的代码:

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))

如何完成此代码以及
char
def characters
中做了什么?

好的,您正在形成一个要打印的字符串。由于您必须打印一个三角形,因此预期输出为smth,如:

*******
 *   *
  * *
   *
字符串由空格和星星组成。
characters
是一个帮助函数,它包含一个包含
n
相同字符(哪些字符?这是通过
char
参数设置的)的字符串

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

 *   *
包含?每行调用
空格
星星
一次是否足够?别忘了队伍的尽头

PS作业中不清楚你是否需要

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

而不是其他。你必须要求你的老师确保你在做要求你做的事情。

请展示你自己的努力。StackOverflow不是一个有人免费工作的地方;相反,这是一个人们在提问者试图解决但失败的特定问题上互相帮助的地方。我理解这一点,我已经试着自己解决它,但我不明白char在这段代码中做了什么。