2015-11-10 49 views
0

我是python新手,所以所有的幫助將不勝感激! 我已經學會在我的代碼中使用枚舉方法,它給出了一個列表元組,例如'我喜歡足球'給足球位置'3'。 我的問題是,一旦我有列表和用枚舉函數寫出的代碼,我試圖給出一個序號後綴的數字,例如'3'被賦予'rd'並且'2'被賦予'nd'。 這裏是我到目前爲止的代碼:在python中給數字序號後綴

word = str(raw_input("Enter Word: ")) 

food = " i like computer science" 
food2 = food.split() 
for (num, x) in enumerate(list(food2)): 
    if word == x: 
    print num 
+0

[這可能是有用的(http://stackoverflow.com/questions/3644417/python-format-datetime-with -st-nd-rd-th-english-ordinal-suffix-like) –

+0

因爲它的立場,我不相信有任何內置的東西。日期時間模塊可以用一種哈克的方式通過傳遞索引作爲一個日期和調用'strftime'返回它在一個序號格式 –

回答

3

可以利用natural包來完成(甚至更多)。

pip install natural 

然後,使用這個代碼,可以打印出序:

>>> from natural import number 
>>> number.ordinal(3) 
u'3rd' 
>>> number.ordinal(1234567) 
u'1234567th' 
+0

我錯過了序數部分 - 對不起 – gkusner

+0

我已經嘗試輸入代碼到我的Python IDLE,這是運行Python 3,它是返回 錯誤信息? –

+0

我在'pip install natural'行上得到'invalid syntax' –