Python中的/與//的區別


在github的項目中的水仙花例題中:

1 for num in range(100,1000): 2     low = num//10
3     mid = num//10%10
4     high= num//100
5     if mid**3+low**3+low**3==num: 6         print(num,end=' ')

中//與 / 的區別在《蟒蛇》書中沒看見

//    ---表示的是相除,然后向下取整

/   ----表示的是浮點數相除,除完之后,是浮點數的結果。

問題,在/與//的應用中會出現整數與浮點數判定的情況,而具體的解釋自己也沒發現合理的解釋:

(問題留存)

例如:百錢買百雞的古典問題:

1 for x in range(1,20): 2     for y in range(1,33): 3         z = 100-x-y 4         if x*5+y*3+(z/3)==100: 5             print(x,y,z)

此處的z/3和后面的==100(int)就牽扯到了int與float的結果的判定,

正如設想的一樣,條件

x*5+y*3+(z/3)==100與條件
x*5+y*3+(z//3)==100最后得到的結果是不同的。

 


免責聲明!

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



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