小白學python的問題 關于%d和%s的區別
問題描述
第一段代碼:
# -*- coding:gb2312 -*-age=18print('====================')print('你的年齡是:%d'%age)
第一段代碼的執行結果:
===========分隔符===========================
第二段代碼:
# -*- coding:gb2312 -*-age=18print('====================')print('你的年齡是:%s'%age)
第二段代碼的執行結果:
===========分隔符===========================
第三段代碼:
# -*- coding:gb2312 -*-age=input('請輸入您的年齡:')print('您的年齡是:%d'%age)
第三段代碼的執行結果:
===========分隔符===========================
第四段代碼:
# -*- coding:gb2312 -*-age=input('請輸入您的年齡:')print('您的年齡是:%s'%age)
第四段代碼的執行結果:

為什么第一段代碼和第二段代碼當中,不管是寫%d還是寫%s執行結果都是一樣的,而在第三段代碼和第四段代碼中,寫%d還是寫%s執行結果不一樣? 問題出在哪里,為什么第三段代碼是錯誤的?(PS:我的python版本是3.5.1。 用的編輯器是Geany)
問題解答
回答1:python不像C語言,聲明變量是不需要指定類型的,它會自動判定變量的類型,從鍵盤輸入的都是字符串類型,要用int轉換。去查一下變量賦值,輸入輸出你就明白了。
回答2:input 輸入進去默認都是字符串,需要使用%s可以用int() 轉換為數字,用%d
相關文章:
1. docker-compose中volumes的問題2. 關docker hub上有些鏡像的tag被標記““This image has vulnerabilities””3. boot2docker無法啟動4. nignx - docker內nginx 80端口被占用5. javascript - mock.js可以存儲數據嗎6. docker安裝后出現Cannot connect to the Docker daemon.7. java - SSH框架中寫分頁時service層中不能注入分頁類8. docker api 開發的端口怎么獲取?9. docker容器呢SSH為什么連不通呢?10. dockerfile - 為什么docker容器啟動不了?

網公網安備