大家好,又见面了,我是你们的朋友全栈君。
在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最后得到的结果是不同的。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/155887.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...