Python:五角函数混淆

时间:2016-03-14 00:49:52

标签: python function math

我一直在

TypeError: 'int' object is not callable

在我的程序中。

该程序的目的是列出从1到100的所有五角形数字,每行10个。到目前为止,我有这个:

def getPentagonalNumber(n):
    p = n(3*n-1) // 2
    print(p)

def printPentagonalNumber(numberOfPentagonal):
    number_of_Pentagonal = 100
    NUMBER_OF_PENTAGONAL_PER_LINE = 10
    count = 0
    n = 1

    while count < numberOfPentagonal:
        if getPentagonalNumber(n):
            count += 1 # increase count

            if count % NUMBER_OF_PENTAGONAL_PER_LINE == 0:
                print()

        n =+1

def main():
    print("The first 100 pentagonal numbers are")
    printPentagonalNumber(100)

main()

1 个答案:

答案 0 :(得分:2)

错误是由于这一行:

p = n(3*n-1) // 2

Python不会隐含地进行乘法运算 相反,你必须使用:

p = n*(3*n-1) // 2

但是,您的代码中还有其他一些不正确的内容。如果您需要进一步的帮助,请告诉我们。