python - 在 Python 中打印半个数字金字塔
问题描述
假设,给你一个正整数。现在,打印一个高度的数字三角形,如下图所示。超过 2 行将导致 0 分。
1
22
333
4444
55555
我的代码:
for i in range(1,int(input())): #More than 2 lines will result in 0 score. Do not leave a blank line also
for j in range(i):
print((j+1), end="")
print("\n")
我可以在两个打印语句中做到这一点,但不是一个。我将如何将其浓缩为一个?
解决方案
您可以通过一次print
调用使用列表推导:
print('\n'.join(str(i)*i for i in range(1, 6)))
输出:
1
22
333
4444
55555