我制作了一个程序,其中包含一个整数的单行输入,打印出该大小的三角形的三角形。但我的计划不是这样的。所以,请你看看我的代码,并确定我的错误。感谢
line = int(raw_input("Number of lines: "))
a = line * '*'
print a
这是我想要产生的输出:
Number of lines: 5
*
**
***
****
*****
答案 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'回复会怎么样?