我如何编写一个产生这样三角形的函数:
x
xx
xxx
xxxx
xxxxx
假设函数为def triangle(n)
,底行将为n
x的数量
我所知道的只是做一个盒子:
n = 5
for k in range(n):
for j in range(n):
print('x', end='')
print()
答案 0 :(得分:3)
老兄这很容易:
def triangle(n):
for i in range(1, n +1):
print ' ' * (n - i) + 'x' * i
甚至:
def triangle(n):
for i in range(1, n +1):
print ('x' * i).rjust(n, ' ')
triangle(5)
的输出:
x xx xxx xxxx xxxxx
不要只是复制此代码而不理解它,尝试并了解它是如何工作的。通常,练习编程语言的好方法是尝试不同的问题,看看如何解决它。我推荐this site,因为我在第一次开始编程时经常使用它。
而且,如果你不知道该怎么做,也不要发布你的作业或类似的东西,只有你被卡住了。首先尝试思考你认为可以解决问题的很多方法,如果你不知道如何做一个特定的任务,只需查阅并从中学习。
答案 1 :(得分:0)
您可以对程序进行一些小改动
n = 5
for k in range(n):
for j in range(n):
print('x' if j+k >= n-1 else ' ', end='')
print()
虽然这不是一个很好的方法。您应该考虑使用类似的东西一次打印一个整体
n = 5
for k in range(n):
i = ???
j = ???
print(' '*i+'x'*j)
您只需要制定i
和j
答案 2 :(得分:0)
hight = 5
for star in range(hight):
for num in range(hight):
print('*' if num+star >= hight-1 else ' ', end='')
print()
答案 3 :(得分:0)
答案:
def triangle(i, t=0):
if i == 0:
return 0
else:
print ' ' * ( t + 1 ) + '*' * ( i * 2 - 1 )
return triangle( i - 1, t + 1 )
triangle(5)
输出:
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
答案 4 :(得分:0)
def triangle(n):
x = ('')
for i in range(n, 0, -1):
x += '*'
print(' ' * (i + 1) + x)