Python 使三角形不工作的代码

Python 使三角形不工作的代码,python,Python,所以我试着为学校做一个代码,在那里它用一个符号输入和一个最大数量的符号输入组成一个空心三角形。它不是创建三角形,而是创建一条垂直的符号线,所以输入a和9,而不是这个: A A A A A A A AAAAAAAAA 它给了我一长串的a 这是我的密码 def SetValues(): global symbol symbol = input("Enter Symbol: ") InputMaxNumberOfSymbols() gl

所以我试着为学校做一个代码,在那里它用一个符号输入和一个最大数量的符号输入组成一个空心三角形。它不是创建三角形,而是创建一条垂直的符号线,所以输入a和9,而不是这个:

    A
   A A
  A   A
 A     A
AAAAAAAAA
它给了我一长串的a

这是我的密码

def SetValues():
    global symbol
    symbol = input("Enter Symbol: ")
    InputMaxNumberOfSymbols()
    global NumberOfSpaces
    NumberOfSpaces = (MaxNumberOfSymbols - 1) / 2
    global NumberOfSymbols
    NumberOfSymbols = 1


def InputMaxNumberOfSymbols():
    global MaxNumberOfSymbols
    MaxNumberOfSymbols = int(input("Max Number of symbols: "))
    while MaxNumberOfSymbols % 2 == 0:
        MaxNumberOfSymbols = int(input("Max Number of symbols: "))

def OutputSpaces():
    for i in range(0, int(NumberOfSpaces)):
        print(" ")


def OutputSymbols():
    for i in range(0, NumberOfSymbols):
        print(symbol)
        print("\n")


def AdjustValuesForNextRow():
    global NumberOfSpaces
    NumberOfSpaces -= 1
    global NumberOfSymbols
    NumberOfSymbols += 2


#Main Code
SetValues()
while not NumberOfSymbols > MaxNumberOfSymbols:
    OutputSpaces()
    OutputSymbols()
    AdjustValuesForNextRow()

由于一位评论员提到它是为python 3而编辑的

您面临的问题之一是打印语句会自动移到下一行。将打印语句从更改为

print(something) 


注意在打印后使用逗号

我讨厌粗鲁,但这种编码风格很奇怪。请看一看为什么您可能希望避免使用所有这些全局变量,以及许多人在编写python代码时遵循的样式指南。您需要另一个变量来跟踪一行中符号之间需要使用的空格数。请尝试在程序的各个阶段打印出变量的值(例如,在主循环的开始/结束处)。或者更好的方法是,学习使用调试器并逐步完成代码,这样您就可以看到错误所在。
print(something, end = "")