Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python绘制直角三角形图案_Python - Fatal编程技术网

使用python绘制直角三角形图案

使用python绘制直角三角形图案,python,Python,这是我画直角三角形的代码 def printTriangle(width): j = 0 for i in range(0,width): for j in range(j,i): print("*", end=" ") # single line #j=j+1 #i= i + 1 print("* ") 问题是当宽度大于3时,它不会继续模式。这是我得到的输出 * * * * *

这是我画直角三角形的代码

def printTriangle(width):
    j = 0
    for i in range(0,width):
       for j in range(j,i):
             print("*", end=" ")  # single line
             #j=j+1
       #i= i + 1
       print("* ")
问题是当宽度大于3时,它不会继续模式。这是我得到的输出

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

问题中的格式看起来有点奇怪,但是为什么要在
中为范围(j,i)
中的j重新启动
j
?也就是说,你不应该从0->i开始吗

def printTriangle(width):
    for i in range(0,width):
        for j in range(0,i):
            print("*", end=" ")  # single line
        print("* ")
打印三角形(5)


问题中的格式看起来有点奇怪,但是为什么要在
中为范围(j,i)
中的j重新启动
j
?也就是说,你不应该从0->i开始吗

def printTriangle(width):
    for i in range(0,width):
        for j in range(0,i):
            print("*", end=" ")  # single line
        print("* ")
打印三角形(5)


在循环中不需要有循环,在python中可以对字符串进行乘法

def printTriangle(width):
    for i in range(0,width):
       print("* " * i)

在循环中不需要有循环,在python中可以对字符串进行乘法

def printTriangle(width):
    for i in range(0,width):
       print("* " * i)
使用
range()
是一个好主意,这样您就可以删除所有的初始化。我猜你只需要一个循环,因为每一条线只有三角形内部的空间不同:

def printTriangle(width):
   # Top section is always a point
   print('*')

   # Middle section has two stars and varying space in between
   for i in range(width - 2):
      print('*' + ' ' * i + '*')

   # Base section is always a row of `width` stars
   print('*' * width)
您可能希望避免
宽度
小于2,否则会产生三角形。

使用
范围()
是一个好主意,因此您可以删除所有初始值。我猜你只需要一个循环,因为每一条线只有三角形内部的空间不同:

def printTriangle(width):
   # Top section is always a point
   print('*')

   # Middle section has two stars and varying space in between
   for i in range(width - 2):
      print('*' + ' ' * i + '*')

   # Base section is always a row of `width` stars
   print('*' * width)

您可能希望避免
宽度
小于2,否则这会给您一个三角形。

我非常感谢您的评论我非常感谢您的评论