[英]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.