Python 模式一';I’我想打印的东西是颠倒的

Python 模式一';I’我想打印的东西是颠倒的,python,function,Python,Function,好吧,我知道这是超基本的,我可能应该知道我在这里做什么,但我被困在尝试翻转这个该死的三角形。我一直对需要交换的变量感到困惑。 这个三角形从一颗星星开始,然后向下迭代形成一个完整的三角形。我需要它从一开始就大到一颗星。有点像漏斗。请,谢谢你,再请一次 代码如下: def up_arrow(arrow): char = arrow index = 0 size = 6 while index < size: spaces = " &qu

好吧,我知道这是超基本的,我可能应该知道我在这里做什么,但我被困在尝试翻转这个该死的三角形。我一直对需要交换的变量感到困惑。 这个三角形从一颗星星开始,然后向下迭代形成一个完整的三角形。我需要它从一开始就大到一颗星。有点像漏斗。请,谢谢你,再请一次

代码如下:

def up_arrow(arrow):
    char = arrow
    index = 0
    size = 6
    while index < size:
        spaces = " " * (6 - index)
        print(spaces + char)
        char += arrow * 2
        index += 1
def向上箭头(箭头):
字符=箭头
索引=0
尺寸=6
而索引<大小:
空格=“”*(6-索引)
打印(空格+字符)
字符+=箭头*2
指数+=1

在循环中,您不断地将
索引增加1,直到它达到6,并且您不断地用两个
箭头增加
字符的长度,使其在6*2-1
箭头处结束。那么,你试过扭转这种局面吗

从字符串
大小开始
*2-1
箭头
s,将
索引
设置为
大小
,每次迭代递减
索引
,直到达到0,以及每次从
字符
中删除两个字符:

def down_arrow(arrow):
    size = 6
    index = size
    char = arrow * (size * 2 - 1)
    while index > 0:
        spaces = " " * (6 - index)
        print(spaces + char)
        char = char[2:]
        index -= 1


down_arrow('.')
请注意,我一直试图坚持您最初编写它的方式,有更多的最佳方式来实现这一点

例如,虽然仍仅打印此类型的箭头,但此函数可以同时执行以下两项操作:

def arrow(ch, size, up=True):
    for i in range(1, size + 1) if up else range(size, 0, -1):
        print(' ' * (size - i) + ch * (2 * i - 1))


arrow('.', 6)
arrow('.', 6, up=False)

不客气。如果您认为答案完全回答了您的问题,请接受带有复选标记的答案,这样它就不再显示为未回答。