如何调用在python的if语句中分配的变量?

2024-04-18 12:51:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在学习python,我想做一个脚本,让你计算你的税后工资是多少。当我试图调用一个在if语句中赋值的变量时

NameError: name 'bruto1' is not defined.

代码如下:

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

netto = (bruto - bruto1)

多亏了康瑟,我已经找到问题了


Tags: and代码name脚本ifisnot语句
1条回答
网友
1楼 · 发布于 2024-04-18 12:51:19

在bruto为<;0或>;20142的事件中,您试图访问不存在的bruto1变量(因为没有执行if语句中的block)。你知道吗

您有两种可能-要么从定义bruto1的默认值开始,例如0,这样每当您尝试访问该变量时,它都会有一些值;要么确保程序中所有可能的执行路径都会为该变量赋值,例如使用if…else。。。你知道吗

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

netto = (brutto - brutto1)

我认为更具python风格的方法是在一行中对变量进行条件赋值,例如:

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

编辑: 修正了变量名的拼写错误。你知道吗

另外,我建议使用pylint来捕捉这种气味(或者像pycharm这样的优秀IDE,它会在指定变量之前强调拼写和用法)

相关问题 更多 >