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

Python数学运算程序问题:加减乘除仅加法正常,其余结果异常

问题分析与修正方案

核心错误点

  • 乘法初始值错误:你把multi初始化为0,而乘法的单位元是1(任何数乘1都等于自身)。初始值为0的话,第一次循环0 * 3 = 0,第二次0 * 2 = 0,结果永远是0。
  • 除法初始值与逻辑错误:div初始化为0,0除以任何数还是0,而且除法是「第一个数 ÷ 第二个数」,不是累积除法。你当前的逻辑是0 ÷ 3 ÷ 2,结果自然是0.0。
  • 减法初始值与逻辑错误:sub初始化为0,你的逻辑是0 - 3 - 2 = -5,但实际需要的是「第一个数 - 第二个数」,也就是3 - 2 = 1,所以不能用累积减法。

修正后的代码

sum_total = 0
multi = 1
div = None
sub = None

for i in range(1, 3):
    num = int(input(f'{i}º dígito: '))
    # 加法:累积求和,逻辑正确
    sum_total += num
    # 乘法:累积求积,初始值改为1
    multi *= num
    # 除法与减法:区分第一个数和第二个数
    if i == 1:
        # 第一个数直接赋值给div和sub
        div = num
        sub = num
    else:
        # 第二个数进行除法和减法运算
        div /= num
        sub -= num

print(f'Soma: {sum_total}')
print(f'Multi: {multi}')
print(f'Div: {div}')
print(f'Sub: {sub}')

测试结果(输入3和2)

  • Soma: 5(正确)
  • Multi: 6(正确)
  • Div: 1.5(正确)
  • Sub: 1(正确)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 11:30:54