在Python中制作三角形

时间:2018-09-18 10:08:56

标签: python

下面是我在Python中为实验室活动编写的代码,该代码制作了一个三角形。

side = input("Input side: ")

def triangle(x):
    print ((x - 1)*" "),"*"
    asterisk = "*"
    space = side
    for i in range(x):
            asterisk = "**" + asterisk
            space = (space-1) * " "
            print space,asterisk

triangle(side)

输出应为:

  *
 ***
*****

我正确地获得了每一行的星号数量,但是我无法弄清楚如何制作必要的空格以使其看起来像一个三角形。使用上面的代码,我认为可能是解决方案,它总是在第9行产生错误。我非常感谢您的帮助。 (我是新来的,所以如果我违反一些规则,请告诉我。)谢谢,祝你有美好的一天!

2 个答案:

答案 0 :(得分:0)

您收到错误(TypeError),因为您正在为space变量分配字符串类型,然后在下一个循环中将其减去。编辑后的代码看起来像这样(在python 2.7中),并且永远不要混合使用4个空格和8个空格的缩进。

side = input("Input side: ")

def triangle(x):
    print ((x)*" "),"*"
    asterisk = "*"
    spaces = side
    for i in range(x):
        asterisk = "**" + asterisk
        spaces -= 1
        print ' ' * spaces,
        print asterisk 

triangle(side)

答案 1 :(得分:0)

我在python3.5中写了一个新的,可能适合您。但这不是完美的

:setvar SQLScriptPath "D:\DBScript\"

:r  $(SQLScriptPath)\001_CreateTables_User.SQL;

:r  $(SQLScriptPath)\002_CreateTables_SystemSettings.sql;

输出:

side = 4

def triangle(x):
    for y in range(1,x):
        s = 2*y - 1
        b = x - y
        print(" "*b+"*"*s)
triangle(side)