課程
/后端開發
/Python
/初識Python
我將 ? ?print x[0]+':',x[1]
變成 ? ?print x[0]+':'+x[1]
為什么就無法輸出了?
2016-05-11
源自:初識Python 6-9
正在回答
不得不用加粗說明了,大家的熱情可嘉,可是如果自己沒有確切的答案 還答復的話,實在是一種干擾,抱歉這么沒有禮貌。
答案:
在Python 中, 加號主要有這么兩種用處:第一: 數字的加法
第二:拼接,字符串拼接,列表拼接,元組拼接, 呃 其他待補充。。
##?加法 print?1+1 2 ##?拼接 print?"hello"+"?world" "hello?world" print?[1,2]+[3,4] [1,?2,?3,?4] print?(1,2)+(3,4) (1,?2,?3,?4)
但是,如果用加號 連接不同類型的值的時候 就會出錯了, 比如 字符串 + 數字:
s?=?set([('Adam',?95),?('Lisa',?85),?('Bart',?59)]) for?x?in?s: ????print?x[0],':'+x[1] ???? ##?此處,?':'?是字符串,?而x[1]?則是數字?,?會報如下錯誤: TypeError:?Can't?convert?'int'?object?to?str?implicitly 類型錯誤:?不能?隱性的將int對象?轉化成?str。 ##?這個錯誤什么意思呢?
跳出來說吧, 因為我們 讓字符串 加 數字(字符串 + 數字), 對于解釋器來說, 它先看到了字符串,然后看到了加號, 這時,解釋器就期待 加號后面仍然為 字符串, 但是它卻遇到了 數字, 這時候它就抱怨說: “不好意思,我不能自主的將數字轉化成字符串(隱性轉化的意思就是 代碼沒有明確的說明要轉換,而解釋器或者編譯器自動轉換; 而Python 是不支持 int 和 str 之間的隱性轉換的)”
所以總結就是,之所以不對, 跟格式要求沒啥關系, 就是 加號 的用法問題。
當然 x[0] 與 ":" 直接之所以能用 加號, 至此,題主應該沒有疑惑了吧。
不思其反
清波 回復 不思其反
不思其反 回復 清波
輸出的格式是有空格要求的
我之前也在懷疑這個 為什么java/C++里面的在這有時候就有問題。注意了:你前面是字符串,后面還有東西的話就用逗號分開,如果直接是x[0]和x[1]中間可以用+
舉報
學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-05-11
不得不用加粗說明了,大家的熱情可嘉,可是如果自己沒有確切的答案 還答復的話,實在是一種干擾,抱歉這么沒有禮貌。
答案:
在Python 中, 加號主要有這么兩種用處:
第一: 數字的加法
第二:拼接,字符串拼接,列表拼接,元組拼接, 呃 其他待補充。。
但是,如果用加號 連接不同類型的值的時候 就會出錯了, 比如 字符串 + 數字:
跳出來說吧, 因為我們 讓字符串 加 數字(字符串 + 數字), 對于解釋器來說, 它先看到了字符串,然后看到了加號, 這時,解釋器就期待 加號后面仍然為 字符串, 但是它卻遇到了 數字, 這時候它就抱怨說: “不好意思,我不能自主的將數字轉化成字符串(隱性轉化的意思就是 代碼沒有明確的說明要轉換,而解釋器或者編譯器自動轉換; 而Python 是不支持 int 和 str 之間的隱性轉換的)”
所以總結就是,之所以不對, 跟格式要求沒啥關系, 就是 加號 的用法問題。
當然 x[0] 與 ":" 直接之所以能用 加號, 至此,題主應該沒有疑惑了吧。
2016-05-11
輸出的格式是有空格要求的
2016-05-11
我之前也在懷疑這個 為什么java/C++里面的在這有時候就有問題。注意了:你前面是字符串,后面還有東西的話就用逗號分開,如果直接是x[0]和x[1]中間可以用+