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 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 Revit2020下载问题
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 单片机无法进入HAL_TIM_PWM_PulseFinishedCallback回调函数
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线