'How to change a negative number to zero in python without using decision structures
I have a program that determines the number of points you get per day, for 5 days from an event.
source code:
total=0
for x in range (5):
points=int(input('How many points did you get today?'))
total=total+points
print ('You got {0} points this event'.format(total))
My question is how do I get it to make any number below or equal to zero a 0 without using decision statements (if's, case's, i think while or for loop is not allowed either)
Solution 1:[1]
Can you use built-in functions? Because this is normally done using:
max(0, points)
Solution 2:[2]
>>> f=lambda a: (abs(a)+a)/2
>>> f(a)
0
>>> f(3)
3
>>> f(-3)
0
>>> f(0)
0
Solution 3:[3]
Since I don't see boolean operators as a restriction, you can use:
points * (points>0)
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Lev Levitsky |
| Solution 2 | Marcus |
| Solution 3 | yoavsnake |
