Меня попросили найти модуль 37 (% 37) функции.Использование декораторов для решения математических уравнений в Python (предыдущие документы Qs)
Убедитесь, что функция возвращает целое число от 0 до 36. Предположим, что все аргументы являются целыми числами от 0 до 36. Написать декоратора
@normalize_37
, что делает именно это. То есть если «бар» является функцией, то декорированная функция будет иметь все его аргументы уменьшается по модулю 37 и его возвращаемое значение уменьшается по модулю 37.
Поиск:
@normalize_37
def add(x,y):
return x+y
print(add(45,67))
#where the answer is 1.
@normalize_37
def bar(n):
if n >= 37 or n <= -1:
raise ValueError
else:
return n
print(bar(123))
#where the answer is 12
До сих пор я придумал это первый бит от отрываясь декораторы онлайн:
import math
def document(f):
def wrap(x,y):
print("I am going to find modulo 37 of", x,y)
f(x,y)
return wrap
@document
def add(x,y):
print(add(x,y)%37)
add(45,67)
, но он не работает для меня, и когда я запускаю его, он просто повторяет: «Я собираюсь найти по модулю 37» немного снова и снова еще раз.
... вы называете 'е (х, у)', но вы на самом деле не по модулю или возвращает результат. –