000111527 2022-07-29 16:41 采纳率: 75%
浏览 21
已结题

Python水仙花数代码if语句中一直循环打印,为何加了一个缩进就正常了?

问题遇到的现象和发生背景:Python数水仙花数的代码一直多次打印
问题相关代码,请勿粘贴截图:

for a in range(10):
for b in range(10):
for c in range(10):
if a3 + b3 + c*3 == a100 + b 10 +c:
hua = a
100+b*10+c
if hua >= 100:
print('水仙花数:{}'.format(hua))

运行结果及报错内容:153、407多次打印,371没打印那么多,370只打印了一次(在这里提问预览代码很奇怪,第三行for前有对上一行的缩进,第四行,第五行也是,第六行显示无问题,第七行有,第四行原本是:"if a3 + b3 + c*3 == a100 + b *10 +c:")
我的解答思路和尝试过的方法:试符合每一位的立方加起来等于那个三位数本身的数字。出了这个错后为倒数第二行多加了一个缩进,立马正常了。为何?
我想要达到的结果:

只打印:
水仙花数:153
水仙花数:370
水仙花数:371
水仙花数:407
而不是打印:
省略无数个"水仙花数:153"
水仙花数:370
省略有无数"水仙花数:153"一半的"水仙花数:371"
省略无数个"水仙花数:407"

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2022-07-29 16:48
    关注

    缩进就代码了代码结构关系的变化,当然有区别

    for a in range(10):
        for b in range(10):
            for c in range(10):
                if a**3 + b**3 + c**3 == a*100 + b*10 +c:
                    hua = a*100+b*10+c
                    if hua >= 100:
                        print('水仙花数:{}'.format(hua))
    
    

    注意缩进

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月6日
  • 已采纳回答 7月29日
  • 创建了问题 7月29日

悬赏问题

  • ¥15 Delphi DBGrid弹出菜单问题
  • ¥15 java map类型数据格式,如何快速通过前缀匹配元素
  • ¥15 stc12c5a60s2、QMC5883L、LCD1602组合测量磁场所需程序
  • ¥15 vba参数转c++ SAFEARRAY
  • ¥20 Win11测试yolov4,“找不到nvcuda.dll”怎么办?
  • ¥15 simulink绘制bode图
  • ¥15 php_network_getaddresses: getaddrinfo failed: Name or service not known
  • ¥15 用msg发消息出现的问题
  • ¥15 unity3d机械臂
  • ¥20 判断两个表是否完全相同