Python乘法错误

时间:2012-09-02 05:23:16

标签: python

我制作了一个程序,其中包含一个整数的单行输入,打印出该大小的三角形的三角形。但我的计划不是这样的。所以,请你看看我的代码,并确定我的错误。感谢

line = int(raw_input("Number of lines: "))
a = line * '*'
print a

这是我想要产生的输出:

Number of lines: 5
*
**
***
****
*****

2 个答案:

答案 0 :(得分:1)

由于这是自我教育而不是实际的课堂作业,最好用代码解释,并详细解释你做错了什么。

你大部分都在那里,因为你有输入和方法可以输出一定数量的星号。您的问题是,您只使用最大个星号打印一行行。

你需要从1 循环到那个数字,每次输出同一种类型的行,其长度增加,如:

line = int (raw_input ("Number of lines: "))
for i in range (1, line + 1):
    print i * '*'

使用此代码(输入5),您基本上循环使用序列i中包含的变量{1, 2, 3, 4, 5}range包含在低端并且在高端独占,因此line + 1)。

在该循环中,输出该数量的星号,为您提供三角形形状:

pax> python testprog.py
Number of lines: 5
*
**
***
****
*****

答案 1 :(得分:0)

由于您正在学习Python,我将添加以下内容:

循环很容易理解,但大多数人忘记的是确保你得到了用户的正确输入!

您向用户询问了一个号码。对?
如果用户按下后者'a'回复会怎么样?