我首先想說,這可能被歸類爲重複後,根據我目前的研究:造就了一批金字塔
How to do print formatting in Python with chunks of strings? 和 Number Pyramid Nested for Loop 和 pyramid of numbers in python
[編輯:因爲我不能用這些以前的問題得出的結論與我的非常相似,因爲除了我們班上到目前爲止所講的內容之外,我不能使用任何其他的東西。我不允許使用諸如len,map,join等解決方案。我僅限於基本格式和字符串轉換。]
我正在爲我的Python類(使用3.0+),我已經達到了一個被卡住的地步。這個程序的目的是讓用戶輸入從1號到15作爲行計數並輸出基於其選擇一個號碼金字塔,如下面的例子中,用戶將輸入5:
1
2 1 2
3 2 1 2 3
4 3 2 1 2 3 4
5 4 3 2 1 2 3 4 5
所以遠遠達到了我可以成功打印輸入1到9的程度,但碰到了兩個問題。
- 從10到15的輸入數字變得不對齊(上述帖子中的用戶似乎也有)。
- 我似乎無法正確地格式化打印的號碼在他們之間的空間,如我上面的例子
我對程序當前的代碼是:
print("This program creates a number pyramid with 1 to 15 lines")
lines = eval(input("Enter an integer from 1 to 15: "))
if lines < 16:
for i in range(1, lines + 1):
#Print leading space
for j in range(lines - i, 0, -1):
print(" ", end = '')
#Print left decreasing numbers
for j in range(i, 0, -1):
print(j, end = '')
#Print right increasing numbers
for j in range(2, i + 1):
print(j, end = '')
print("")
else:
print("The number you have entered is greater than 15.")
我的電流輸出:
Enter an integer from 1 to 15: 15
1
212
32123
4321234
543212345
65432123456
7654321234567
876543212345678
98765432123456789
109876543212345678910
1110987654321234567891011
12111098765432123456789101112
131211109876543212345678910111213
1413121110987654321234567891011121314
15141312111098765432123456789101112131415
我在問你們有沒有學習的慾望,不是爲了任何人爲我編碼。我想了解我做錯了什麼,所以我可以修復它。謝謝大家!
這將是與兩位數字相當困難的空間。當它變得那麼遠時,你希望它看起來像什麼? –
[python中的數字金字塔]可能的重複(http://stackoverflow.com/questions/13077491/pyramid-of-numbers-in-python) – gabra
Gabra,你是對的,這也是我看過的東西之一在。意思是將此添加到此問題中,現在添加它。它有一個解決方案,但不是我可以使用的東西。 – Norr