You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python if-elif与while循环习题:我的作答代码存在什么问题?

Python流程控制练习题代码问题排查

现存代码核心问题

  • 核心逻辑不符合需求:题目的「将该数字不断自加」指每次累加原始输入的固定数值,你代码中inval += inval的写法是每次将当前值翻倍,直接用输入变量做累加器也导致原始输入值丢失。比如输入合法值10时,你的代码输出结果为160,而题目要求的正确结果是110,差异完全来自逻辑理解错误。
  • 冗余代码过多:while循环内部的continue属于无意义语句,循环执行到末尾会自动进入下一轮判断,无需显式声明;while配套的else分支在这里也属于冗余逻辑,循环结束后直接输出结果即可。
  • 判断条件冗余:你在elif中重新写了一遍非法输入的判断条件,实际上经过前面if的合法区间校验后,剩余的所有情况都是非法输入,直接用else即可,没必要重复写判断逻辑,反而增加写错的概率。

修正后参考代码

in_val = float(input('Input a number greater than zero and less than or equal to 10: '))
# 判断输入是否在合法区间
if 0 < in_val <= 10:
    total = 0
    # 累加原始值直到总和超过100
    while total <= 100:
        total += in_val
    print(total)
else:
    print('You did not enter a value between 0 and 10')

内容的提问来源于stack exchange,提问作者Yassin Askour

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:06:04