我得到了单行作为输出,但我必须得到给定的行数

  • 本文关键字:单行作 输出 python-3.x
  • 更新时间 :
  • 英文 :


代码:

row = int(input('enter a number:'))
while row != 0:
for i in range(row, 0, -1):
for j in range(i):
print(i, end=" ")
row = row - 1

实际输出:

enter a number:4
4 4 4 4 3 3 3 2 2 1

预期输出:

enter a number:4
4 4 4 4 3 3 3 2 2 1
4 4 4 4 3 3 3 2 2 1
4 4 4 4 3 3 3 2 2 1
4 4 4 4 3 3 3 2 2 1

您首先需要tmpfor-loop(我不会更改或改进您的代码)

试试这个:

row = int(input('enter a number:'))
tmp = row
for _ in range(tmp):
row = tmp
while row != 0:
for i in range(row, 0, -1):
for j in range(i):
print(i, end=" ")
row = row - 1
print()

输出:

enter a number:5
5 5 5 5 5 4 4 4 4 3 3 3 2 2 1 
5 5 5 5 5 4 4 4 4 3 3 3 2 2 1 
5 5 5 5 5 4 4 4 4 3 3 3 2 2 1 
5 5 5 5 5 4 4 4 4 3 3 3 2 2 1 
5 5 5 5 5 4 4 4 4 3 3 3 2 2 1 

为了提高你可以试试这个:

row = int(input('enter a number:'))
for _ in range(row):
print(*[f'{i} '*i for i in range(row,0,-1)], sep="")

最新更新