- 此代碼的輸出非常相似,但不完全是它應該是。
-
def printMultiples(n): i = 1 while (i <= 10): print(n*i, end = ' ') i += 1 n = 1 while (i<= 3): printMultiples(n) n += 1
輸出是:
1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30
而應該是這樣的:
1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30
- 如何把這個代碼進行修改?
0
A
回答
1
0
您的問題是,您沒有在每個倍數列表後打印新行。你可以通過把你的printMultiples
函數結束外循環線
print()
0
要使列排隊解決這個問題,你就需要徹底改變你的做法。目前,printMultiples()
無法知道在每個數字之後要放置多少個空格,因爲它不知道將在外部循環中調用多少次。
什麼你可能做的是:
- 創建的字符串表示每個多重的二維陣列(不打印任何東西) - 的
str()
功能將是有用的這 - 對於每一列,檢查該列中最長號碼的長度(它總是最後一個)並添加一個
- 打印每一行,在每個字符串之後添加適當的空格數以匹配該列所需的空格數
一個更簡單的方法,如果你對只有感興趣的柱狀輸出,而不是精確的間距,將是打印每個數字後足夠的空間,以適應您希望輸出的最大數量。所以,你可能會得到:
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
(注意如何有三個空格前三列,每列數,即使你並不需要所有三個空格之後)。
更改現有的代碼做會更容易。詳細信息請參見Format String Syntax。
0
如果你已經知道你要墊的數字是寬度爲3,那麼一個合適的(和更Python)printMultiples是
def printMultiples(n):
txt = "".join(["{0: <3d}".format(n*i) for i in range(1, 11)])
print(txt)
更好的辦法是,允許寬度改變。而你可以再傳給你喜歡的,如你所期望的數量最大寬度的寬度
def printMultiples(n, width=3):
txt = "".join(["{0: <{1}d}".format(n*i, width) for i in range(1, 11)])
print(txt)
width = len(str(4 * 10)) + 1
for i in range(1, 4):
printMultiples(i, width)
相關問題
- 1. 任何人都可以幫我找到代碼中的錯誤
- 2. 任何人都可以幫我理解這段代碼嗎?
- 3. 任何人都可以幫助解釋這部分代碼?
- 4. 任何人都可以幫助我理解這個strchr()C分段錯誤?
- 5. 任何人都可以幫助我在這個代碼
- 6. 任何人都可以請幫我改正這段代碼嗎?
- 7. 任何人都可以用這段代碼幫我嗎?
- 8. 任何人都可以解釋這段代碼的輸出嗎?
- 9. 任何人都可以幫助我理解並解決這個錯誤嗎?
- 10. 任何人都可以解釋我的這段代碼嗎?
- 11. 任何人都可以幫我解決這個錯誤嗎? 0x80041002
- 12. Javascript:任何人都可以解釋我這段代碼嗎?
- 13. 任何人都可以幫助我解決這個問題嗎?
- 14. 任何人都可以幫助我的代碼在ATM?
- 15. 任何人都可以幫助這個Magento錯誤?
- 16. 任何人都可以幫助這個hasNextLine()錯誤?
- 17. 任何人都可以幫助我嗎?
- 18. 任何人都可以引導我這段代碼中的錯誤是什麼?
- 19. 我得到NullReferenceException。任何人都可以幫助我。這個代碼在C#CRM2013
- 20. 任何人都可以幫助我解決Angular JS中的注入錯誤
- 21. JavaScript中的循環 - 任何人都可以幫助我理解?
- 22. 任何人都可以用這個簡單的代碼來幫助我嗎?
- 23. 任何人都可以解釋這個TypeScript代碼片段?
- 24. 任何人都可以解釋這段代碼嗎?
- 25. 任何人都可以解釋我這個代碼的工作
- 26. 這個php代碼有什麼問題嗎?任何人都可以幫助我
- 27. 我想使用tbxml解析以下xml,任何人都可以幫助我
- 28. 任何人都可以幫助破解這個時間格式?
- 29. 任何人都可以幫助解釋這個嗎?
- 30. 任何人都可以幫助我處理以下代碼中的'system.nullreferenceexception'嗎?
您是否擔心(一)缺乏換行符,或數字之間(二)有趣的間距讓他們排成一列,或(c)兩者? –
實際上。 (a)剛剛解決。現在(二)仍然 – Muavia
您的代碼給出不起作用...你的第二個循環應該是結束n不是我 – donkopotamus