我有点问题。我试图使这个程序输出一个基于用户指定的高度和符号的直角三角形,但每当我输入所需的符号和高度时,程序将输出正确的形状,但颠倒。我一直有一些困难,得到一个坚定的循环和通过反复试验,这是我迄今为止能想到的最好的。有人能帮个兄弟吗。提前谢谢你们。
triangle_char = input('Enter a character:\n')
triangle_height = int(input('Enter triangle height:\n'))
print('')
for i in range (len(triangle_char)):
for j in range (triangle_height):
print((triangle_char) * triangle_height )
triangle_height -= 1
当字符为“*”且高度为5时,此代码将返回此输出:
*****
****
***
**
*
输入这些值时的预期输出应为:
*
**
***
****
*****
这是剧本。我假设多个输入字符意味着多个输出三角形。另外,高度:0表示每个三角形中的零线。
我今天学到的一件棘手的事情是
int("20.0")
不会转换为20;它会引发一个异常。代码通过先转换为float来解决这个问题。编辑:添加了示例输出。
您也可以这样做:
首先,循环都是关闭的;您将值赋给
i
和j
而不使用它们。第二,第一个循环是无用的。如果输入3个字符,它将重复块3次,但是变量
triangle_height
在第一次传递时减小为0,因此在下一次迭代中不会打印任何内容。 去掉这条线第三:你说你需要倒三角形,所以,不要减少for循环中的
triangle_height
,而是使用你在for循环中对j
的赋值,而不要减少变量。 由于范围从0开始计数,您需要在打印语句中向其添加1:我还用input()方法中的空格替换了
/n
,因为它看起来很糟糕。相关问题 更多 >
编程相关推荐