Skip to main content
 首页 » 编程设计

python之使用python根据变量正确打印字符

2025年05月04日12powertoolsteam

我想知道是否有一个好的 pythonic 方法来做这样的事情:

size1 = 4  
size2 = 3 
value = size1 - size2 
 
def isSign(value): 
    if value > 0 : 
        return "+" 
    else : 
        return "" 
 
print("My total gain is" + isSign(value) + str(value)) 

在这种情况下,我的字符串应该如下所示:

My total gain is +1 

在值为 -1 的情况下,我的字符串应如下所示:

My total gain is -1 

在值为 0 的情况下,我的字符串应如下所示:

My total gain is 0 

如果可能的话,我也想避免使用外部模块。

请您参考如下方法:

您可以将 isSign(value) 替换为 (value > 0) * "+"。

这是有效的,因为 True == 1 和 False == 0,一个数字 n 是字符串的重复 >n 次,所以 0 * "+" 是空字符串 ""。

但是,有些人可能会觉得它不可读,事实证明我必须解释它是如何工作的。

使用 f 字符串:

f"My total gain is {(value > 0) * '+'}{value}"