2012-09-02 45 views
-6

我制作一个程序,其中包含一个整数的单行输入,打印一个三角形的星号的大小。但我的程序不是这样工作的。所以你可以看看我的代码,并可以确定我的错误。由于Python乘法错误

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

这是我想产生输出:

Number of lines: 5 
* 
** 
*** 
**** 
***** 
+8

我们没有经历一份家庭作业问题列表,我们...? (证据:看问题历史。) –

+2

那么它不是一个功课,我也不是学校的学生我是python的新手,所以我正在尝试解决不同的问题来增加我的知识。 – jaddy123

+3

@ jaddy123你不觉得你需要一个循环打印吗? – 2012-09-02 05:28:56

回答

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 
* 
** 
*** 
**** 
***** 
+0

好吧谢谢@paxdiablo :) – jaddy123

0

因为你正在做它来学习Python,我将新增如下:

环路是很容易弄清楚,但大多数人忘记的是确保你从用户那里得到正确的输入!

您向用户询问了一个数字。对?
如果用户按下后者'a'将会发生什么情况?