我有一个作业,我必须使用单个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))
如何完成此代码以及char
中def characters
做了什么?
答案 0 :(得分:0)
好吧,你正在形成一个要打印的字符串。因为你必须打印一个三角形,所以预期的输出就像是:
*******
* *
* *
*
该字符串由空格和星星组成。 characters
是一个辅助函数,其中包含n
个相同字符的字符串(其中一个是通过char
参数设置的。)
在当前实现中,您有一行ret += spaces() + stars()
,其中函数没有参数。您必须了解,您需要多少空间和星星。但这实际上还不够。这行
* *
包含?是否足以每行拨打spaces
和stars
一次?并且不要忘记行尾!
PS如果你需要
,那么从作业中就不清楚了*
**
* *
* *
* *
**
*
代替或者其他。你必须要求你的老师确保你做了所要求的事情。