Python中怎么实现一个等腰三角形

今天就跟大家聊聊有关Python中怎么实现一个等腰三角形,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

专注于为中小企业提供网站设计、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业新吴免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

1. 先用1,2,3,...的自然数拼一个足够长的串

2. 用这个串填充三角形的三条边。从上方顶点开始,逆时针填充。

比如,当三角形高度是8时:

       1

      2 1

     3   8

    4     1

   5       7

  6         1

 7           6

891011121314151

要求:空格一律用"."代替。

输入格式:

一个正整数n(3

输出格式:

用数字填充的等腰三角形。

输入样例:

5

输出样例:

....1

...2.1

..3...2

.4.....1

567891011

输入样例:

10

输出样例:

.........1

........2.2

.......3...2

......4.....2

.....5.......1

....6.........2

...7...........0

..8.............2

.9...............9

1011121314151617181

解决方案

(1)确定三角形拼接的范围:因为三角形是一个自然数拼接成的串,所以我们先确定不同层数对应到的自然数,观察两个案例(从上到左下到右再到上)可知:5层到13,10层到23(均未到最后一个自然数的最后一个值是因为第一层只有一个自然数)。所以n层则会从1拼接到2n+3。

(2)每一行第一个数字前的空格数:观察题目给出的两个输出案例可以发现每一行第一个数前面的空格数为输出三角形的高(n) - 第几层。

(3)每一行的第一个数刚好和层数相等。

(4)第2到第n层两个数之间的空格数:从第二层开始所以有i-2,每一层增加两个即(i-2)* 2,又因起始数量为1,所以规律是(i-2)* 2 – 1。

(5)第2到第n层第二个数的确定:因为从上到下的第二个数字是拼接的串的逆序且第一层只有一个数字,所以第n层的第二个数字为拼接串的倒数第n个数字。

(6)最后一层即为拼接串的第n个数到倒数第n个数。

解决代码

n = int(input())

lis1 = "".join(str(i) for i in range(1, 2 * n + 4))

print("." * (n - 1) + lis1[0])  # 第一层

for i in range(2, n):  # 第2到n-1层

    print("." * (n - i) + lis1[i-1] + "." * ((i - 2) * 2 + 1) + lis1[-i])

print(lis1[n - 1: -n+1])  # 最后一层

运行实例

Python中怎么实现一个等腰三角形

Python中怎么实现一个等腰三角形

看完上述内容,你们对Python中怎么实现一个等腰三角形有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。


网站名称:Python中怎么实现一个等腰三角形
文章来源:http://pwwzsj.com/article/jphhec.html