我目前在python中创建了这段代码。输出正是我想要的。 (如果你知道一个更好的方法,我很乐意听到)。我想知道如何将我的函数triangle和triangle2组合成一个main函数。 (我的输出是横向金字塔)。
def triangle(n):
for x in range(n):
print ('*'*x)
n = n - 1
def triangle2(n):
for x2 in range(n):
print ('*'*n)
n = n - 1
height = int(input("Enter an odd number greater than 4: "))
triangle(height)
triangle2(height)
答案 0 :(得分:1)
只需将两个循环放在一个函数中,但不要改变n
直到第二个循环(第一个循环不使用它):
def sideways_pyramid(n):
for x in range(n):
print('*' * x)
for x in range(n):
print('*' * n)
n = n - 1
您可以通过使用n
倒计时来完全避免更改range()
:
def sideways_pyramid(n):
for x in range(1, n):
print('*' * x)
for x in range(n, 0, -1):
print('*' * x)
第二个循环倒计时,从n
开始到1结束。我也从1开始第一个循环,不打印空的第一行(0次{{1是一个空字符串)
演示:
'*'
答案 1 :(得分:0)
def triangle(n):
for x in range(n):
print ('*'*x)
for x in range(n):
print ('*'*n)
n -= 1
height = int(input("Enter an odd number greater than 4: "))
triangle(height)
答案 2 :(得分:0)
使其尽可能接近原始代码:
def triangle2(n):
for x2 in range(n):
print ('*'*n)
n = n - 1
def triangle(n):
for x in range(n):
print ('*'*x)
triangle2(n)
height = int(input("Enter an odd number greater than 4: "))
triangle(height)
您可以从第一个功能中调用其他功能。
答案 3 :(得分:0)
如果你总是想按照底部指定的顺序运行它们,我会做这样的事情:
def triangle(n):
for x in [y for y in range(n)] + [z for z in range(n, 0, -1)]:
print("*"*x)
height = int(input("Enter an odd number greater than 4: "))
triangle(height)