我制作一个程序,其中包含一个整数的单行输入,打印一个三角形的星号的大小。但我的程序不是这样工作的。所以你可以看看我的代码,并可以确定我的错误。由于Python乘法错误
line = int(raw_input("Number of lines: "))
a = line * '*'
print a
这是我想产生输出:
Number of lines: 5
*
**
***
****
*****
我制作一个程序,其中包含一个整数的单行输入,打印一个三角形的星号的大小。但我的程序不是这样工作的。所以你可以看看我的代码,并可以确定我的错误。由于Python乘法错误
line = int(raw_input("Number of lines: "))
a = line * '*'
print a
这是我想产生输出:
Number of lines: 5
*
**
***
****
*****
由于这是自我的教育,而不是实际的课堂作业,最好用代码和你在做什么错误的详细解释说明。
你大部分在那里,因为你有输入和手段,你可以输出一定数量的星号。你的问题是你只打印一个行最大星号的数量。
您需要循环从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
*
**
***
****
*****
好吧谢谢@paxdiablo :) – jaddy123
因为你正在做它来学习Python,我将新增如下:
环路是很容易弄清楚,但大多数人忘记的是确保你从用户那里得到正确的输入!
您向用户询问了一个数字。对?
如果用户按下后者'a'将会发生什么情况?
我们没有经历一份家庭作业问题列表,我们...? (证据:看问题历史。) –
那么它不是一个功课,我也不是学校的学生我是python的新手,所以我正在尝试解决不同的问题来增加我的知识。 – jaddy123
@ jaddy123你不觉得你需要一个循环打印吗? – 2012-09-02 05:28:56