为什么我的四个 "final" 变量未定义?我以为我在使用它们之前定义了它们

Why are my four "final" variable undefined? I thought I defined them before I used them

在你开始大笑之前,请了解我大约 2 周前开始 python,这是我正在做的事情,只是为了试验。当我将它们列在上面的 if 语句中时,有人可以向我解释为什么我的“最终”变量未定义吗?在最后的 print 语句中,它突出显示了那些带有“final”的变量,并告诉我这些变量是未定义的,当我 运行 它时它会抛出一个错误。 (在return语句上面有一个叫做“diff”的函数)

        return x-y

    if sale_type.upper() == "RS":
        final1_quantity = diff(int(rs_quantity), int(sale_quantity))
    elif sale_type.upper() == "BS":
        final2_quantity = diff(int(bs_quantity), int(sale_quantity))
    elif sale_type.upper() == "BP":
        final3_quantity = diff(int(bp_quantity), int(sale_quantity))
    elif sale_type.upper() == "GP":
        final4_quantity = diff(int(gp_quantity), int(sale_quantity))
        
    quant = input("Would you like to see our stock? (Y/N)")
    if quant.upper() == "Y":
        print(f'''{final1_quantity} red shirts.
                {final2_quantity} blue shirts
                {final3_quantity} black pants
                {final4_quantity} grey pants''')```

当不能进入变量定义的'if'时,变量未定义。 您必须将它们全部定义为

final1_quantity = 0
final2_quantity = 0
final3_quantity = 0
final4_quantity = 0

在 'if' 条件之前。