如何在python中并排打印星号三角形?
我正在尝试使用python中的嵌套for循环并排打印四星三角形。我包括了我现在使用的垂直打印三角形的代码,但我不知道如何水平打印它们如何在python中并排打印星号三角形?,python,Python,我正在尝试使用python中的嵌套for循环并排打印四星三角形。我包括了我现在使用的垂直打印三角形的代码,但我不知道如何水平打印它们 n = 0 print ("Pattern A") for x in range (0,11): n = n + 1 for a in range (0, n-1): print ('*', end = '') print() print ('') print ("Pattern B") for b in range (
n = 0
print ("Pattern A")
for x in range (0,11):
n = n + 1
for a in range (0, n-1):
print ('*', end = '')
print()
print ('')
print ("Pattern B")
for b in range (0,11):
n = n - 1
for d in range (0, n+1):
print ('*', end = '')
print()
print ('')
最大值=10
a、 b,c,d=1,最大值,最大值,1
感谢@Azbakufand,主要的想法是将从顶部到最后的每一行形状打印在一起@Azbakufard代码有一个非常小的错误,您可以在下面看到更正的错误:
maximum = 10
a, b, c, d = 1, maximum, maximum, 1
while a <= maximum:
print('*'*a + ' '*(maximum-a) + ' '*2 + '*'*b + ' '*(maximum-b) + ' '*2 + ' '*(maximum-c) + '*'*c + ' '*2 + ' '*(maximum-d) + '*'*d)
a += 1
d += 1
b -= 1
c -= 1
在第一行中,您应该给出最长情况下的星号数。
为了更好地理解,我尝试使用有意义的变量名。我们也无法告诉您需要在代码中更改什么,因为您没有显示。谢谢!它没有正确地复制。我现在已经包括并编辑了我的问题
maximum = 10
a, b, c, d = 1, maximum, maximum, 1
while a <= maximum:
print('*'*a + ' '*(maximum-a) + ' '*2 + '*'*b + ' '*(maximum-b) + ' '*2 + ' '*(maximum-c) + '*'*c + ' '*2 + ' '*(maximum-d) + '*'*d)
a += 1
d += 1
b -= 1
c -= 1
longest = int(input())
asterisk_a = 1
spaces_a = longest - 1
asterisk_b = longest
spaces_b = 0
asterisk_c = longest
spaces_c = 0
asterisk_d = 1
spaces_d = longest - 1
for i in range(0,longest):
print(asterisk_a * '*' + spaces_a * ' ' + ' ' + asterisk_b * '*' + spaces_b * ' ' + ' ' + spaces_c * ' ' + asterisk_c * '*' + ' ' + spaces_d * ' ' + asterisk_d * '*')
asterisk_a += 1
spaces_a -= 1
asterisk_b -= 1
spaces_b += 1
asterisk_c -= 1
spaces_c += 1
asterisk_d += 1
spaces_d -= 1