此程序将根据用户指定的高度triangle_height和符号triangle_char输出一个直角三角形。
(1)给定的程序使用 * 字符输出一个固定高度的三角形。修改给定的程序以输出使用用户指定的triangle_char字符的直角三角形。
(2)修改程序以使用循环输出高度为triangle_height的直角三角形。第一行将有一个用户指定的字符,如%或 *。随后的每一行都将有一个额外的用户指定字符,直到三角形底部的数字达到triangle_height。在每个用户指定的字符后输出一个空格,包括行的最后一个用户指定的字符。
我不知道如何在我的角色之间创造空间。示例输入是%和5。我的代码是:
triangle_char = input('Enter a character:\n')
triangle_height = int(input('Enter triangle height:\n'))
print('')
for i in range (triangle_height):
print((triangle_char) * (i + 1))
字符串
我的输出是:
%
%%
%%%
%%%%
%%%%%
型
而预期输出为:
%
% %
% % %
% % % %
% % % % %
型
8条答案
按热度按时间lyr7nygr1#
您需要使用
join()
。这将工作:字符串
它在每个字符之间添加空格,因为字符串是可迭代的。
这可以通过具有字符列表并在每次迭代中追加1个字符来进行优化,而不是每次都构造
triangle_char * (i+1)
。h43kikqp2#
这将修复白色错误:
字符串
pinkon5k3#
字符串
ejk8hzay4#
到目前为止,我看到最流行的方法是使用join,但另一种方法是在尝试保持原始想法的同时,您只需在每个字符后添加一个白色。见下文:
字符串
w8f9ii695#
这里有一些非常好的建议。另一种方法是在while循环中使用递增的变量,如下所示:
字符串
在上面的例子中,i迭代直到它等于triangle_height,并使用多态性来基于i的值生成(triangle_height +“”)的量。这将生成本实验所需的直角三角形。空格用于根据实验室要求格式化三角形。
另一种方法是使用.join()特性,它在这里当然可以很好地工作,但直到本书的第7章才开始教授,在那里你学习了输入和CSV文件。我不确定你的教授是否会同意使用这个,我这么说只是因为我的教授对使用未涵盖的材料很严格。
已经提到的另一种方法是使用for循环,并使用包含表达式的range()特性:
型
range()的终点仅仅是triangle_height是不够的,因为指定为终点的值不包括在序列中。即使triangle_height为5,这也会生成一个高为4的直角三角形。因此,必须使用表达式(triangle_height + 1)。从那里,输出设置类似于我的第一个解决方案。
az31mfrm6#
尝试在print语句中添加空格。
字符串
a64a0gku7#
字符串
这就是我用来解决这个问题的方法。奥卡姆剃刀
vvppvyoh8#
字符串
这是我的答案,它对我起作用了。