鱼C论坛

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

第18课后动动手题目求助

[复制链接]
发表于 2016-9-30 21:40:34 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 喜欢小翘臀 于 2016-9-30 23:03 编辑

题目要求编写一个统计三位数所有水仙花数的程序,比如153 = 1**3 +5**3 +3**3
我编写的程序是这样的,但是不知为啥每次返回都是空列表,就好像没有走for循环一样,没搞明白,怎么回事?
'题目要求,找出所有三位数的水仙花数'
list1 = []
for a in (1,9):
    for b in (0,9):
        for c in (0,9):
            if ((a * 100 + b*10 + c) == (a**3 + b**3 + c**3)):
                list1.append('abc')
            
print(list1)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-30 22:01:08 | 显示全部楼层
这样改一下。
  1. list1 = []
  2. for a in range(1,10):
  3.     for b in range(0,10):
  4.         for c in range(0,10):
  5.             if ((a * 100 + b*10 + c) == (a**3 + b**3 + c**3)):
  6.                 list1.append(a * 100 + b*10 + c)
  7.             
  8. print(list1)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-30 23:03:19 | 显示全部楼层

谢谢版主,我犯了两个错误,一个是少打了range,这样就成了元组,返回一直是 空列表。第二个是我print使用的是’abc‘,打印的是字符串,所以要改成表达式的形式。
低级错误,真是羞愧。再次感谢花时间指点
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-23 02:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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