十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
今天就跟大家聊聊有關Python中怎么實現(xiàn)一個等腰三角形,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據(jù)這篇文章可以有所收獲。
專注于為中小企業(yè)提供網(wǎng)站設計、成都網(wǎng)站設計服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)新吳免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了1000多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。
1. 先用1,2,3,...的自然數(shù)拼一個足夠長的串
2. 用這個串填充三角形的三條邊。從上方頂點開始,逆時針填充。
比如,當三角形高度是8時:
1
2 1
3 8
4 1
5 7
6 1
7 6
891011121314151
要求:空格一律用"."代替。
輸入格式:
一個正整數(shù)n(3 輸出格式: 用數(shù)字填充的等腰三角形。 輸入樣例: 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)確定三角形拼接的范圍:因為三角形是一個自然數(shù)拼接成的串,所以我們先確定不同層數(shù)對應到的自然數(shù),觀察兩個案例(從上到左下到右再到上)可知:5層到13,10層到23(均未到最后一個自然數(shù)的最后一個值是因為第一層只有一個自然數(shù))。所以n層則會從1拼接到2n+3。 (2)每一行第一個數(shù)字前的空格數(shù):觀察題目給出的兩個輸出案例可以發(fā)現(xiàn)每一行第一個數(shù)前面的空格數(shù)為輸出三角形的高(n) - 第幾層。 (3)每一行的第一個數(shù)剛好和層數(shù)相等。 (4)第2到第n層兩個數(shù)之間的空格數(shù):從第二層開始所以有i-2,每一層增加兩個即(i-2)* 2,又因起始數(shù)量為1,所以規(guī)律是(i-2)* 2 – 1。 (5)第2到第n層第二個數(shù)的確定:因為從上到下的第二個數(shù)字是拼接的串的逆序且第一層只有一個數(shù)字,所以第n層的第二個數(shù)字為拼接串的倒數(shù)第n個數(shù)字。 (6)最后一層即為拼接串的第n個數(shù)到倒數(shù)第n個數(shù)。 解決代碼 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中怎么實現(xiàn)一個等腰三角形有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

網(wǎng)站題目:Python中怎么實現(xiàn)一個等腰三角形
分享鏈接:http://m.jiaotiyi.com/article/jphhec.html