Для поплавков мне нравится max(0, value)
, уже предоставленный Константином. Вы даже можете комбинировать его с декрементом и использовать распаковку кортежей для обработки обоих значений одновременно:
value1, value2 = max(0, value1-1), max(0, value2-1)
Некоторые трюки только для целых чисел (для записи, так как я уже разместил их, даже не подозревая, что вы имели дело с числами):
При уменьшении вы можете использовать это:
value -= value and 1
Предполагая, что значение всегда начинается с> = 0, это не позволит ему опуститься ниже 0.
Когда значение равно нулю, это оценивается как value -= 0
. Когда значение не равно нулю, оно оценивается как value -= 1
.
Вы также можете использовать троичный оператор, который более читабелен:
value -= 1 if value > 0 else 0