鱼C论坛

 找回密码
 立即注册
查看: 853|回复: 8

[已解决]python第一版 第9讲

[复制链接]
发表于 2019-8-5 19:03:01 | 显示全部楼层 |阅读模式

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

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

x
水仙那一道题,程序能运行,但是没有显示,不知道错在哪里了
感谢大佬相助!
最佳答案
2019-8-5 20:01:38
本帖最后由 DT_Nelson 于 2019-8-5 20:03 编辑

取位数要整除,真除法在Python3中会返回精确的浮点数值
  1. >>> for i in range(100, 1000):
  2.         a = i // 100 # 百位数
  3.         b = i //10 % 10 # 十位数
  4.         c = i % 10 # 个位数
  5.         if a**3 + b**3 + c**3 == i:
  6.                 print(i, end=' ')

  7.                
  8. 153 370 371 407
复制代码
QQ图片20190805190140.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-8-5 19:09:36 | 显示全部楼层
  1. for i in range(100, 1000):
  2.     # 这里应该这样写
  3.     ge = int(str(i)[-1])     # 数字的最后一位
  4.     shi = int(str(i)[-2])    # 数字的倒数第二位
  5.     bai = int(str(i)[-3])    # 数字的倒数第三位
  6.     sum = (ge * ge * ge + shi * shi * shi + bai * bai * bai)
  7.     if sum == i:
  8.         print(sum)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-5 19:11:04 | 显示全部楼层
/会得到小数,你得用地板除,中间还有很多冗余,,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-5 19:11:49 | 显示全部楼层
sum的值永远是浮点数,i的值永远是整数,不可能相等的,所有没有结果。
把 / 改成 // 就行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-5 20:01:38 | 显示全部楼层    本楼为最佳答案   
本帖最后由 DT_Nelson 于 2019-8-5 20:03 编辑

取位数要整除,真除法在Python3中会返回精确的浮点数值
  1. >>> for i in range(100, 1000):
  2.         a = i // 100 # 百位数
  3.         b = i //10 % 10 # 十位数
  4.         c = i % 10 # 个位数
  5.         if a**3 + b**3 + c**3 == i:
  6.                 print(i, end=' ')

  7.                
  8. 153 370 371 407
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-6 08:09:20 | 显示全部楼层

哇!我还没想到能用string去得出各位的位数,关于你这个程序里面,我有个地方不太懂 str(i)[1]不就是整型吗?为什么还需要用int()转换成整型呀?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-6 08:10:23 | 显示全部楼层
塔利班 发表于 2019-8-5 19:11
/会得到小数,你得用地板除,中间还有很多冗余,,

我懂啦!受教了,完全没去想小数点的问题,惭愧...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-6 08:10:55 | 显示全部楼层
chordblue 发表于 2019-8-5 19:11
sum的值永远是浮点数,i的值永远是整数,不可能相等的,所有没有结果。
把 / 改成 // 就行了

我懂啦!受教了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-6 08:11:36 | 显示全部楼层
DT_Nelson 发表于 2019-8-5 20:01
取位数要整除,真除法在Python3中会返回精确的浮点数值

我懂啦 !感谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 19:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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