打印星号的三角形图案

2024-04-17

I am required to use nested for loops and print('*', end=' ') to create the pattern shown here http://prntscr.com/4vzp9m: enter image description here

这是我的代码。我已经弄清楚了前两个。

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 ('')

当我开始模式 C 和 D 时,我尝试以下操作:

print ("Pattern C")
for e in range (11,0,-1):
    n = n + 1
    for f in range (0, n+1):
        print ('*', end = '')
    print()
print ('')
print ("Pattern D")
for g in range (11,0,-1):
    n = n - 1
    for h in range (0, n-1):
        print ('*', end = '')
    print()

但结果与 A 和 B 相同。感谢帮助!


模式 C 和 D 都需要前导空格,并且您不会打印任何空格,而只是打印星星。

以下是打印所需前导空格的替代代码:

print ("Pattern C")
for e in range (11,0,-1):
    print((11-e) * ' ' + e * '*')

print ('')
print ("Pattern D")
for g in range (11,0,-1):
    print(g * ' ' + (11-g) * '*')

这是输出:

Pattern C
***********
 **********
  *********
   ********
    *******
     ******
      *****
       ****
        ***
         **
          *

Pattern D

          *
         **
        ***
       ****
      *****
     ******
    *******
   ********
  *********
 **********

更详细地,考虑这一行:

print((11-e) * ' ' + e * '*')

它打印(11-e)空格后跟e星星。这提供了制作图案所需的前导空间。

如果您的老师想要嵌套循环,那么您可能需要转换print((11-e) * ' ' + e * '*')循环打印每个空格,一次一个,然后打印每个星星,一次一个。

通过嵌套循环的模式 C

如果您遵循我给出的有关嵌套循环的提示,您将得到如下所示的模式 C 的解决方案:

print ("Pattern C")
for e in range (11,0,-1):
    #print((11-e) * ' ' + e * '*')
    for d in range (11-e):
        print (' ', end = '')
    for d in range (e):
        print ('*', end = '')
    print()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

打印星号的三角形图案 的相关文章

随机推荐