嗨,我只是玩弄python并练习打印东西和格式化东西。 我想要做的是读取一个数字并打印出与数字相对应的星号。 例如,如果输入为5,则输出为
*****
****
***
**
*
(注意它是右对齐的)
以下是我的代码,仅打印出来
*****
****
***
**
*
输入为5时。
a = input()
star = "*"
for num in reversed(range(1,a+1)):
print (star*num).rjust(num)
我意识到如果我将最后一行的num更改为常量整数,代码工作正常,但我希望每行的填充与输入数相同,因此每个不同的数字都会改变。 目前的问题是什么,我该如何解决?
EDITIED ------ OOPS!弄清楚了! 它必须是 print(star * num).rjust(a) 不是数字!! 这只是一个愚蠢的问题:p
答案 0 :(得分:3)
rjust
的参数需要是最长字符串的长度,而不是当前字符串。
print (star*num).rjust(a)