中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中怎么實現一個等腰三角形

發布時間:2021-06-22 16:59:05 來源:億速云 閱讀:2701 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關Python中怎么實現一個等腰三角形,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

1. 先用1,2,3,...的自然數拼一個足夠長的串

2. 用這個串填充三角形的三條邊。從上方頂點開始,逆時針填充。

比如,當三角形高度是8時:

       1

      2 1

     3   8

    4     1

   5       7

  6         1

 7           6

891011121314151

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

輸入格式:

一個正整數n(3<n<300),表示三角形的高度

輸出格式:

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

輸入樣例:

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中怎么實現一個等腰三角形有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

若羌县| 宁乡县| 长子县| 施秉县| 禄劝| 汕尾市| 福安市| 高阳县| 泸西县| 德化县| 大竹县| 石泉县| 营口市| 栖霞市| 桃江县| 开平市| 德令哈市| 右玉县| 南汇区| 台州市| 筠连县| 泸西县| 东源县| 永州市| 泗阳县| 陵川县| 西安市| 清远市| 博爱县| 长春市| 安顺市| 临桂县| 香港| 赤水市| 塔城市| 武平县| 锦屏县| 金华市| 谷城县| 蓝田县| 互助|