編寫一個將單詞彙集成不超過寬度字符行的Python摘錄。您可能會假設單詞是單詞列表,按順序輸出,width是行可能具有的最大字符數。只在不超過一行的字符限制的情況下,不能將另一個單詞添加到行中時打印每一行。如何編寫這段Python摘要
回答
好了,讓我們假設你有一個字符串是這樣的:
string = 'the quick brown fox jumped over the lazy dog the quick brown fox jumped over the lazy dog the quick brown fox jumped over the lazy dog the quick brown fox jumped over the lazy dog'
它的長,所以有什麼東西去。我們稱寬度爲w。
既然你要說話,你會想要將字符串拆分爲空白字符''。這會給你一個單詞列表。
您想檢查列表中每個單詞的長度與行中剩餘可能字母的數量。因此,如果您的寬度爲30,並且打印'the',則剩餘的金額爲27.如果您可以從剩餘字符數中減去字長並仍爲正數,則打印該字。否則,走上新的路線。
它說單詞出現在列表中,這使得它更容易 – cmaynard 2011-03-07 20:36:14
檢出textwrap模塊。
import textwrap
words = 'some words to print out'
width = 10
for line in textwrap.wrap(words, width):
print line
在這個例子中,你基本上實現了樸素的單詞換行。
這是原油和不雅的方式我會做到這一點:
- 創建您可以使用它在一行的輸出轉儲到存儲變量。
- 雖然該變量的長度小於或等於最大行長度,但是該字段列表中的第一個元素是
pop(-1)
,並將其附加到佔位符字符串。 - 當這個條件不成立時(在彈出元素前測試它),打印該行並重新開始。
我不是爲你做的,但這是我將開始的方式。
可能是你應該從
def wrap(words, maxWidth):
res = []
line = []
cur_len = 0
for word in words:
if cur_len + len(word) <= maxWidth:
line.append(word)
cur_len += len(word)
else:
res.append(line)
line = [word]
cur_len = len(word)
res.append(line)
return res
words = "quick brown fox jumps over the lazy dog".split(" ")
print '\n'.join(map(lambda line: ' '.join(line), process(words, 12)))
如果他用這個作爲回答家庭作業的答案,他們會認爲他是作弊,在這裏有點太多的幫助 – cmaynard 2011-03-07 20:38:43
分開創建行我建議尋找到一個for循環和LEN()函數,這應該不超過10行代碼。 像
for word in wordList:
if((len(word)+len(currLine))<maxLen):
//more code here that I ain't giving you
你應該追加一條外商投資企業的話(加上currLine的空間。當你沒有足夠的空間打印currLine並設置currLine字。希望這是足夠的幫助,如果不是跟你的教授
- 1. 摘要Python的
- 2. Python:如何編寫一段代碼?
- 3. Python日誌摘要計數
- 4. 如何在pdf文件中生成摘要摘要?
- 5. 你會如何遞歸編寫這段代碼?
- 6. 我應該如何編寫這段代碼?
- 7. 如何用bind&fmap編寫這段代碼?
- 8. 如何用cakephp 1.3 html helper編寫這段代碼?
- 9. 如何編寫這個泛型類型的C#代碼片段?
- 10. 我該如何着手編寫這段代碼?
- 11. 我該如何改進用Scala編寫的這段代碼?
- 12. 如何正確編寫這個通用而不需要@SuppressWarnings
- 13. SummaryWriter不會將摘要寫入文件
- 14. 如何在填寫ASP.net驗證摘要時調用JavaScript函數
- 15. 如何寫火花sql數據框到excel文件的摘要
- 16. 如何編寫或編輯Python文件?
- 17. Eclipse讓我做這個摘要?
- 18. 這段代碼爲什麼要編譯?
- 19. 如何訪問/配置摘要/段在Django草堆
- 20. Prestashop:如何將字段添加到訂單摘要頁面
- 21. java api上的「字段摘要」doc
- 22. 從AdvancedDatagridColumn刪除組摘要字段
- 23. 作爲字段的繼承者摘要
- 24. Crystal Report VS2008中的摘要字段
- 25. 這些類型的python裝飾器是如何編寫的?
- 26. 如何使用Python編寫這個Ruby gsub?
- 27. 如何在Python中編寫這種「奇怪的」排序
- 28. 如何編寫這個循環從C到Python?
- 29. 如何在jquery中寫這段代碼?
- 30. 如何重寫這段代碼?
你到目前爲止做了什麼? – 2011-03-07 20:11:20
我認爲這是你的家庭作業,而不是我的。 – Blender 2011-03-07 20:17:47
[google](http://docs.python.org/library/textwrap.html)是你的朋友 – nmichaels 2011-03-07 20:23:17