python - Python - 为什么 a=1/3 是 int 而 a=0.3 是 float
问题描述
因为那个 python 决定 a=1/3 是 int 它使 a 的值为 0,这是非常不期望的。我相信阅读完整的文档会解释它,但是谷歌的很多搜索都没有找到这个问题的简单答案。
解决方案
a=1/3
是一个表达式,被评估为 int / int ,它产生一个 int 结果。
a=0.3
是未评估的值并且是浮点数。
但是,如果您仍想使用表达式形式,则需要将其中任何一个数字设为浮点数,这意味着:
a=1.0/3
或者
a=1/3.0
后两者将产生浮点结果。
推荐阅读
- java - 如何计算结果 % 第 10,000,001 个素数的阶乘答案
- javascript - 从我的项目中删除所有 componentWillMount,如果我的子组件依赖于 api 响应,那么替换是什么
- flutter - Flutter - 如何实时、定期、在后台运行将位置更新发送到后端。(在安卓和IOS上)
- amazon-web-services - Micronaut 无法处理调用 Lambda 的 AWS Http API 网关 V2
- output - Verilog 条件分配输出 X 应该有 1
- c++ - 运行时错误:将无符号偏移添加到 0x603000000040 溢出到 0x603000000034 (stl_vector.h)
- reactjs - 为什么 setState 只更新改变原始状态
- c++ - 我的程序没有打印正确的输出
- javascript - 如何更新猫鼬中的子文档数据?
- python - 通过 GLM 模型预测索赔数量