ababaiemvs.actuallystryder2 years ago
Sum of Multiples
filterfalse
can be used to generate an iterator.
filter
might have been used instead but it wouldn't be as clean.
from itertools import filterfalse def find_multiples_of_4_and_6(n): return filterfalse(lambda x: x%4 and x%6, range(n))
- from itertools import filterfalse
- def find_multiples_of_4_and_6(n):
for i in range(n):if not (i % 4 and i % 6):yield i- return filterfalse(lambda x: x%4 and x%6, range(n))
Used f-string and type hint where necessary.
from dataclasses import dataclass class BMI: height: float weight: float def bmi(self) -> float: return self.weight / (self.height ** 2) def calculate_bmi(self) -> str: return f"there {'is no' if self.bmi < 25 else 'is'} excess weight"
- from dataclasses import dataclass
from decimal import Decimal- @dataclass
- class BMI:
height: intweight: int- height: float
- weight: float
- @property
def bmi(self):- def bmi(self) -> float:
- return self.weight / (self.height ** 2)
def calculate_bmi(self):return "there is no excess weight" if self.bmi < 25 else "there is excess weight"- def calculate_bmi(self) -> str:
- return f"there {'is no' if self.bmi < 25 else 'is'} excess weight"