根据用户输入制作形状

时间:2012-07-04 10:59:03

标签: python

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

这是基于我们刚刚做的一个正方形问题

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

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

1 个答案:

答案 0 :(得分: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('')

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