下面是我在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行产生错误。我非常感谢您的帮助。 (我是新来的,所以如果我违反一些规则,请告诉我。)谢谢,祝你有美好的一天!
答案 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)