python洛谷做题30:P5725 【深基4.习8】求三角形 - 指南

P5725 【深基4.习8】求三角形

题目描述

模仿例题,打印出不同方向的正方形,然后打印三角形矩阵。中间有个空行。

输入格式

输入矩阵的规模,不超过 9 9 9

输出格式

输出矩形和正方形

输入输出样例 #1

输入 #1

4

输出 #1

01020304
05060708
09101112
13141516
01
0203
040506
07080910

思路分析及代码

数字为1位数时,要多加个0,所以要用if来判断。
一行结束后才换行,有两种方法,一种是每次输出,用end=“”不换行,具体可看P5721这题。另一种是先存储数据,一行结束再输出。
下面使用的是第二种方法。
正方形和三角形做法类似,区别在于内循环循环的次数不同,正方形的内环循环都是n,三角形第几行就几个数,但外循环是从0开始循环的,第i行有i+1个,所以三角形的内循环是i+1。
最后,可以看到三角形是靠右对齐的,第i行前面有n-(i+1)个数字是空的,一个数字占2个字符,所以第i行有2*(n-i-1)个空格。

n=int(input())
m=1
k=1
for i in range(n):
a=""
for j in range(n):
if m<
10:
a+="0"
a+=str(m)
m+=1
print(a)
print()
for i in range(n):
a=""
for l in range(2*(n-i-1)):
a+=" "
for j in range(i+1):
if k<
10:
a+="0"
a+=str(k)
k+=1
print(a)
posted @ 2025-08-19 21:25  yfceshi  阅读(9)  评论(0)    收藏  举报