如何在python中调用我在if语句中指定的变量?

问题描述 投票:-1回答:1

我正在学习python,我想创建一个脚本,让你计算你的税后工资。当我试图调用我在if语句中指定的变量时,它说,

NameError: name 'bruto1' is not defined.

这是代码:

if bruto<20142 and bruto>0:
    bruto1 = (bruto*0.3655)

netto = (bruto - bruto1)

我已经通过konserw找到了问题

python python-3.x
1个回答
1
投票

在bruto <0或> 20142的事件中,您尝试访问不存在的bruto1变量(因为if语句中的块未被执行)。

您有两种可能性 - 从定义bruto1的默认值开始,例如0,这样每当您尝试访问该变量时,它都有一些值;或确保程序中可能的所有执行路径导致为该变量赋值,例如使用if ... else ...

brutto1 = 0
if brutto < 20142 and bruto > 0:
    brutto1 = (brutto * 0.3655)

netto = (brutto - brutto1)

我认为更多的pythonic方式是在一行中对变量进行条件赋值,例如:

netto = (brutto - (brutto*0.3655)) if brutto < 20142 else (<place another calculation here>)

编辑:修复变量名称中的拼写错误。

附:我建议使用pylint来捕捉这些气味(或者像pycharm这样的好IDE,它会强调拼写错误并在变量分配之前使用)

© www.soinside.com 2019 - 2024. All rights reserved.