给定一个正整数n,如何打印高度为n-1的数字三角形


  • 黑客银行:三角探索
  • 仅使用算术运算、单个for-loop和单个print语句
  • 不允许进行字符串操作
  • 约束1 ≤ n ≤ 9
  • 例如,给定n=5作为输入,打印以下输出:
1
22
333
4444

使用数学,它将是

Python 2.7:

for i in range(1,n):
    print i*(10**i-1)/9

有关详细信息,请查看repdigit。

Python 3+

  • 保留或删除int,具体取决于是否需要.0
for i in range(1, n):
    print(int(i*(10**i-1)/9))

您不需要在print语句中指定换行符。在python 2中,这意味着使用sys.stdout.write或导入python3 print函数

from __future__ import print_function # python 2 only
def expand(n):
    for i in range(1, n+1):
        for _ in range(i):
            print(i, end="")
        print(" ", end="")
    print("")

expand(5)
1 22 333 4444 55555

在发布了更多的细节,并在hackerlink上链接了最初的问题后,我意识到这实际上不是一个有效的解决方案。尽管如此,我还是会把它留在这里,以防有帮助。

最新更新