簡體   English   中英

我需要幫助在 python 中打印此模式,我已經給出了我的方法,但無法弄清楚請支持

[英]I need help to print this pattern in python, i have given my approach but couldnt figure out pls support

所需模式

我的方法代碼:

n=int(input(":"))
for i in range(n+1):
    for j in range(1,i+1):
        print(","+str(j), end="")
    print()
    
for i in range(n, 1, -1):
    for j in range(1, i):
        print(","+str(j), end="")
    print()

但無法獲得所需的模式請幫助

您可以使用“,”作為打印分隔符,而不是連接逗號,只要您在一次打印調用中打印所有數字(您可以通過拆包來完成):

n = 5
for d in range(1-n,n):
    print(*range(1,n-abs(d)+1),sep=",")

1
1,2
1,2,3
1,2,3,4
1,2,3,4,5
1,2,3,4
1,2,3
1,2
1

如果你想調整你的代碼,你可以為逗號使用一個變量,並且只讓它包含從第二個數字開始的實際逗號:

n=int(input(":"))
for i in range(n+1):
    comma = ""
    for j in range(1,i+1):
        print(comma+str(j), end="")
        comma = ","
    print()
    
for i in range(n, 1, -1):
    comma = ""
    for j in range(1, i):
        print(comma+str(j), end="")
        comma = ","
    print()

請注意,您在開頭打印了一個額外的空白行。 如果這不是你的意圖,你應該讓第一個循環使用range(1,n+1)

修復代碼的另一種方法是系統地打印逗號作為結束字符,並將最終打印用於每行的最后一個數字:

n=int(input(":"))
for i in range(1,n+1):
    for j in range(1,i):
        print(j, end=",")
    print(i)
    
for i in range(n-1, 0, -1):
    for j in range(1, i):
        print(j, end=",")
    print(i)

我按照你的代碼得到這個結果。 你想改變什么點?

圖案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM