鱼C论坛

 找回密码
 立即注册
查看: 1433|回复: 4

[已解决]关于打印三位数水仙花数的课后作业,如果想改成用元组来表示

[复制链接]
发表于 2021-1-16 20:19:54 | 显示全部楼层 |阅读模式

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

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

x
想实现的效果是:所有水仙花数为: [153, 370, 371, 407]
请问这段程序该如何改呢?
def shui():
    value = 100
    temp = []
    while  99 < value <1000:
        a = value//100
        b = (value - a*100)//10
        c = value - a*100 - b*10
        if value == a**3 + b**3 + c**3:
            temp.append(value)
            print('所有水仙花数为:',temp)
        value += 1
  
最佳答案
2021-1-16 20:41:27
本帖最后由 昨非 于 2021-1-16 20:51 编辑
  1. def shui():
  2.     value = 100
  3.     temp = []  
  4.     while  value <1000:  #因为value初值100且递增,所以99的条件去掉,而且你的写法不规范,要写成value>99 and value<1000:  
  5.         a = value//100
  6.         b = (value - a*100)//10
  7.         c = value - a*100 - b*10
  8.         if value == a**3 + b**3 + c**3:
  9.             temp.append(value)
  10.         value += 1
  11.     print('所有水仙花数为:',temp)  #打印放在循环外,避免随循环重复打印
  12. shui()
复制代码


测试结果:
  1. 所有水仙花数为: [153, 370, 371, 407]
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-16 20:41:27 | 显示全部楼层    本楼为最佳答案   
本帖最后由 昨非 于 2021-1-16 20:51 编辑
  1. def shui():
  2.     value = 100
  3.     temp = []  
  4.     while  value <1000:  #因为value初值100且递增,所以99的条件去掉,而且你的写法不规范,要写成value>99 and value<1000:  
  5.         a = value//100
  6.         b = (value - a*100)//10
  7.         c = value - a*100 - b*10
  8.         if value == a**3 + b**3 + c**3:
  9.             temp.append(value)
  10.         value += 1
  11.     print('所有水仙花数为:',temp)  #打印放在循环外,避免随循环重复打印
  12. shui()
复制代码


测试结果:
  1. 所有水仙花数为: [153, 370, 371, 407]
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-1-16 20:46:00 | 显示全部楼层
本帖最后由 jackz007 于 2021-1-16 20:52 编辑
  1. def shui():
  2.     value = 100
  3.     temp = []
  4.     while value < 1000:
  5.         a = value // 100
  6.         b = (value % 100) // 10
  7.         c = value % 10
  8.         if value == a**3 + b**3 + c**3:
  9.             temp . append(value)
  10.         value += 1
  11.     print('所有水仙花数为:',temp)

  12. shui()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-16 21:05:18 | 显示全部楼层

好的,以后会慢慢开始注意代码规范的,谢谢您!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-16 21:09:55 | 显示全部楼层
小智1998 发表于 2021-1-16 21:05
好的,以后会慢慢开始注意代码规范的,谢谢您!

这个写法在python里不算错,但是再c语言里就不对了
所以还是建议分开写哈
问题解决了记得设置最佳答案哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-1 22:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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