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)

浙公网安备 33010602011771号