Ответ 1
Можете ли вы использовать встроенные функции? Поскольку это обычно делается с помощью:
max(0, points)
У меня есть программа, которая определяет количество очков, которые вы получаете в день, в течение 5 дней от события.
исходный код:
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))
Мой вопрос заключается в том, как заставить его сделать любое число ниже или равным нулю 0 без использования утверждений о принятии (if, case, я think while или for loop также не допускается)
Можете ли вы использовать встроенные функции? Поскольку это обычно делается с помощью:
max(0, points)
>>> f=lambda a: (abs(a)+a)/2
>>> f(a)
0
>>> f(3)
3
>>> f(-3)
0
>>> f(0)
0
Если абсолютно никто не принимает решений, тогда запрещается циклы, а также max
. Я думаю, вы должны решить его, используя только выражения, и никаких утверждений. Чистое числовое решение должно быть хорошим.
Поэтому подумайте о вычислениях, которые "удаляют" знак.
Одним примером может быть квадрат числа:
>>> import math
>>> a = 3
>>> int(math.sqrt(a**2))
3
>>> b = -4
>>> int(math.sqrt(b**2))
4