2016-12-22 71 views
1

https://coderbyte.com/information/Division%20Stringified我不明白結腸做什麼str.format

具備的功能DivisionStringified(NUM1,NUM2)取兩個參數傳遞 ,除NUM1 NUM2所得,並返回結果作爲具有正確格式化逗號的字符串 。如果答案只有3位數字, 返回沒有逗號的數字(即2/3應該輸出「1」)。例如:如果num1是123456789,num2是10000,則輸出應爲 「12,346」。

這是頂級用戶的解決方案,而不是我:

def DivisionStringified(num1, num2): 
    return '{:,}'.format((num1 + (num2/2))/num2) 

是什麼'{:,}'.format辦?我不知道如何將逗號放在大量的正確位置。

+1

我喜歡你在頂部提到的方式「這不是家庭」:) – martianwars

+3

請參閱關於[格式字符串語法]的Python文檔部分(https://docs.python.org/2/library/string的.html#formatstrings)。 (這是一個非常密集的閱讀;不要期望立即吸收所有的內容,但學習閱讀這些內容並挑選出與您相關的部分是很重要的。) – user2357112

+1

如果您只需要申請字符串格式化只是使用['format' builtin](https://docs.python.org/3/library/functions.html#format)'返回格式((num1 +(num2/2))/ num2, '')' –

回答

2

documentation說:

的「」選項標誌着一個千位分隔符使用逗號。對於可識別語言環境的分隔符,請改爲使用'n'整數表示類型。

所以我們可以看到,是什麼,格式字符串做。

至於:,格式字符串的一般格式是一樣的東西:

{what:format_spec} 

兩個部分都是可選的 - 默認的格式規範簡單!s(這意味着使用這個str內置格式)。如果沒有指定「what」部分,那麼python只是填充適當位置參數的位置。在這種情況下,:是必要的,以便格式解析器可以獲取format_spec部分。

相關問題