Greg 发表于 2021-8-14 23:55:21

《零基础入门学习Python》【最新版】 第9讲有疑问

《零基础入门学习Python》【最新版】 第9讲有疑问,请各位大神指点
为什么我自己写的程序输出结果是科学计数法?

009-1.py,是我自己写的
009-2.py,是管理员给的答案
009-3.py,是我照着管理员的答案修改的

# ./009-1.py
舍罕王应该给达依尔 1.8446744073709552e+19 粒麦子!
# cat 009-1.py
#!/usr/bin/python3
# 初始化变量 i #
i = 0
# 初始化变量 sum #
sum = 0

while i <= 64:
    # 请计算每一个格子的麦子数,并将其赋值给 wheats 变量#
    wheats = 2 ** (i - 1)
    sum = sum + wheats
    i = i + 1

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

# ./009-2.py
舍罕王应该给达依尔 18446744073709551615 粒麦子!
# cat 009-2.py
#!/usr/bin/python3
i = 1
sum = 0

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

print("舍罕王应该给达依尔", sum, "粒麦子!")
# ./009-3.py
舍罕王应该给达依尔 1.8446744073709552e+19 粒麦子!
# cat 009-3.py
#!/usr/bin/python3
# 初始化变量 i #
i = 0
# 初始化变量 sum #
sum = 0

while i <= 64:
    # 请计算每一个格子的麦子数,并将其赋值给 wheats 变量#
    wheats = pow(2, i-1)
    sum = sum + wheats
    i = i + 1

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

逃兵 发表于 2021-8-15 08:14:15

结果不对
初始值应为
i = 1

Greg 发表于 2021-8-15 08:57:43

逃兵 发表于 2021-8-15 08:14
结果不对
初始值应为
i = 1

哦   2的-1次方是0.5,成浮点数了。了解
多谢
页: [1]
查看完整版本: 《零基础入门学习Python》【最新版】 第9讲有疑问