python3運算: / 和 //以及int*float


關於 / 和 // 以及 :

1 a=input("a=")
2 b=input("b=")
3 print(a//b)

報錯,因為python輸入默認為str,所以要進行簡單的修改:

1 a=int(input("a="))
2 b=int(input("b="))
3 print(a//b)

這下就可以運行了,輸入a=12,b=3,輸出結果為4。

a=int(input("a="))
b=int(input("b="))
print(a/b)

輸入a=12,b=3,輸出結果為4.0。

這是因為商運算符 // 產生整數商,而精確除法運算符 / 總是產生浮點數。

 

當一個操作數是int而另一個是float時會發生什么呢?python如何執行這種話運算呢?

答:在執行運算之前,較不通用的類型(int)會暫時自動轉換為較通用的類型(float)。

舉例:比如我們計算一個圓形的面積

1 radius=input("radius=")
2 print(radius)
3 print(radius**2*3.14)

蕪湖,這樣肯定是報錯的,因為這里radius的類型沒有進行轉換,是個str,接着進行簡單的轉換:

1 radius=int(input("radius="))
2 print(radius)
3 print(radius**2*3.14)
4 
5 結果:
6 radius=3
7 3
8 28.26

 

答案就出來咯,這樣寫能運行,是因為python在進行混合模式運算時,自動將int轉換float了,更嚴謹些的話,應進行以下的代碼:

1 radius=input("radius=")
2 print(radius)
3 radius=float(radius)
4 print(radius**2*3.14)

這樣就可以啦,結果運算為:

1 radius=3
2 3
3 28.26

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM