Python rjust()不工作?

时间:2014-12-29 14:54:32

标签: python

嗨,我只是玩弄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

1 个答案:

答案 0 :(得分:3)

rjust的参数需要是最长字符串的长度,而不是当前字符串。

print (star*num).rjust(a)