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

Python新手编写折扣系统代码条件判断不生效,求助排查错误

代码问题排查

你提供的代码存在以下几类问题:

  • 类型错误:input() 函数默认返回字符串类型,无法直接和整数做大小比较,需要先转换为int或者float数值类型
  • 括号不匹配:所有计算价格的代码行都存在左括号数量多于右括号的问题,无法通过语法校验
  • 条件判断语法错误:price >= 200 and < 300这类写法不符合Python语法规则,需要补全判断主体,正确写法为200 <= price < 300或者price >= 200 and price < 300
  • 缩进错误:Python依靠缩进区分代码块,你当前第三个elif下的打印语句缩进层级错误,100-200价格区间对应的价格计算代码缩进也完全混乱
  • 字符串拼接错误:最后打印语句中直接把数值类型的price和字符串拼接,会触发类型报错,需要先把price转为字符串,或者使用f-string格式化输出
  • 业务逻辑错误:折扣系统应该是减免金额,你当前代码逻辑是在原价基础上加价,和预期功能完全相反
  • 执行顺序错误:原代码在还没计算100-200区间的折扣价时就执行了打印语句,输出的是未计算折扣的原价

修正后参考代码

# 输入转float兼容小数价格
price = float(input('Please type the value of your item: '))
if price >= 300:
    # 减30%即原价乘0.7
    price = price * 0.7
elif 200 <= price < 300:
    price = price * 0.8
elif 100 <= price < 200:
    price = price * 0.9
# 低于100不打折可根据需求补充逻辑
print(f'You need to pay {price:.2f}$ for your item')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 16:36:00