0

程序应该从用户那里得到两个数字。第一个数字是三角形的数量。第二个数字是每个三角形的行数。

它基于我们刚刚做的一个方形问题,即

numRows = input('Please enter the number of rows: ')
numRows = eval(numRows)
numAst  = 1 
for i in range(numRows):
    print(numAst*'*')
    numAst += 1

我无法为我的生活弄清楚如何让它制作三角形。我知道我需要某种外部循环来重新启动内部循环,但我不知道该怎么做?

4

1 回答 1

1

首先,将不安全的用户输入转换为整数有点危险eval,因此我将其int改为。

其次,您只需要使用三角形数量值创建一个嵌套循环即可重复内部循环X次数。当然,您需要更改内部循环函数以打印三角形。

试试这个,看看你能不能从上面的解释中理解:

numTris = input('Please enter the number of triangles: ')
numTris = int(numTris)
numRows = input('Please enter the number of rows: ')
numRows = int(numRows)
for _ in range(numTris):
    for numAst in range(1, numRows + 1):
        print(numAst * '*')
    print('')

注意:该变量_通常按约定用于您不打算使用的值。在这种情况下,我们只需要它来创建循环,但不要在循环中使用它。

于 2012-07-04T11:07:28.083 回答