是否可以过滤掉格式化字符串文字中的零值?

Edw*_*ein 1 python string-literals python-3.x

格式化字符串文字 (:+) 用于显示数字的符号(+ 或 -)。例如:

a = 2

b = -5

print(f"{a+b:+}")

output: -3
Run Code Online (Sandbox Code Playgroud)

或者

a = 2

b = 5

print(f"{a+b:+}")

output: +7
Run Code Online (Sandbox Code Playgroud)

如果输出为 0,则表示为 +0。

有没有一种方法,如果ab的总和为 0,输出应该不返回任何内容(我不确定这意味着什么),或者可能输出一个空字符串?

示例:Gn = c + (ab)

如果a3b也为3,则输出应为Gn = c。不是 Gn=c+0

我尝试应用一些条件语句 wrt 0,以返回空字符串,但格式化字符串文字 (:+) 仅适用于整数。

Mar*_*nen 5

有没有一种方法,如果 a 和 b 的总和为 0,输出应该不返回任何内容(我不确定这意味着什么),或者可能输出一个空字符串?

制作一个格式助手。非零被视为 True,因此如果数字为 false,则可以返回空字符串:

def fmt(i):
    return f'{i:+}' if i else ''

a = 1
for b in range(3):
    print(f'result: {fmt(a-b)}')
Run Code Online (Sandbox Code Playgroud)

输出:

result: +1
result: 
result: -1
Run Code Online (Sandbox Code Playgroud)