鱼C论坛

 找回密码
 立即注册
查看: 1086|回复: 2

关于弟008讲数字类型的疑惑

[复制链接]
发表于 2022-1-22 11:07:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
不好意思本人小白确实很多低级知识不懂求助!

问题1:
x=(x // y) * y + (x % y)
但是在IDLE上运行的时候确实这么显示
>>> (x // y) * y + (x % y)
-520.0

问题2:
i = 1
sum = 0

while i <= 64:
    wheats = pow(2, i-1)
    sum = sum + wheats
    i = i + 1

print("舍罕王应该给达依尔", sum, "粒麦子!")

i 的初始化变量为什么是1?
sum 的初始化变量为什么是0?

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-23 10:26:26 | 显示全部楼层
本帖最后由 翼是孤独 于 2022-1-23 10:27 编辑

第一个问题不知道你要表达什么
第二个问题
你要求的结果应该是2^64 - 1 吧,也就是 2^0 + 2^1 +...+ 2^63
sum的话就不用说了,从0开始累加
i初始化的话配合你下面的代码
你要是初始化成0

代码就是:
i = 0
sum = 0
while i <= 63:
    wheats = pow(2, i)
    sum = sum + wheats
    i = i + 1

反正计算结果都是从 2的0次 累加到 2 的63 次

(上面的^符号是阶乘的意思)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-23 12:04:26 From FishC Mobile | 显示全部楼层
翼是孤独 发表于 2022-1-23 10:26
第一个问题不知道你要表达什么
第二个问题
你要求的结果应该是2^64 - 1 吧,也就是 2^0 + 2^1 +...+ 2^63 ...

非常感谢您的解答。
第二个问题我理解了。
第一个问题是公式的答案本来应该等于x,但在idle上的公式答案显示却是-520,我想应该是我的前面还有各种代码存在的原因影响到了这个结果,我会加强学习的。谢谢前辈!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 13:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表