跳至内容
菜单
此问题已终结
2 回复
964 查看

if contract.wage > 33333 :

    result = float(6396+(contract.wage - 33333)*0.25)


gives me error :

TypeError("float() argument must be a string or a real number, not 'NoneType'") 

can anyone help me?

形象
丢弃
最佳答案

Hi,

The error message you're encountering suggests that contract.wage might be None in some cases, causing the float() function to fail. To address this issue, you should check if contract.wage is not None before attempting to perform calculations with it. Here's how you can modify your code to handle this:

if contract.wage is not None and contract.wage > 33333: result = float(6396 + (contract.wage - 33333) * 0.25) else: # Handle the case when contract.wage is None or less than or equal to 33333 result = 0 # Or any other default value you want to assign 


Hope it helps

形象
丢弃
最佳答案

@Mohamed

if contract.wage is not None and contract.wage > 33333: 

​result = float(6396 + (contract.wage - 33333) * 0.25) 

else: 

​result = 0

Hope this will help you

形象
丢弃