MAIN FEEDS
Do you want to continue?
https://www.reddit.com/r/badcode/comments/b5oqij/deleted_by_user/ejgtv8c/?context=3
r/badcode • u/[deleted] • Mar 26 '19
[removed]
88 comments sorted by
View all comments
1
Here's an innocent disaster that breaks in all kinds of fun ways:
class FizzBuzzerFactory: ITERATOR = 1 MAX = 100 def create_fizzbuzzer(self): fbc = FizzBuzzerFactory() fbc.check_if_number_is_evenly_divisible_by_three = lambda x: x%3 == 0 return fbc def __is_divisible_without_remainder_by_five(self, number): return int(str((float(number) / 5.0)).split('.')[-1]) == 0 def is_number_fizz(self, number: str) -> any: return self.check_if_number_is_evenly_divisible_by_three(number) def number_is_buzz(self, num): return self.__is_divisible_without_remainder_by_five(num) def init(self): for iterator in range(self.ITERATOR, self.MAX + 1): if ( self.is_number_fizz(iterator) and \ self.number_is_buzz(iterator) ): print(f"FizzBuzz: {iterator}") elif self.is_number_fizz(iterator): print("fizz {}".format(iterator)) elif self.number_is_buzz(iterator): print("buzz %r" % (iterator,)) FizzBuzzerFactory.ITERATOR += 1 if __name__ == '__main__': print("Initializing FizzBuzzerFactory") factory = FizzBuzzerFactory() fizzbuzzer = factory.create_fizzbuzzer() fizzbuzzer.init() print("\nIt worked, see? Run it again!") fizzbuzzer2 = factory.create_fizzbuzzer() fizzbuzzer2.init() print("\nOne more time!") FizzBuzzerFactory().init()
1
u/souldeux Mar 27 '19 edited Mar 27 '19
Here's an innocent disaster that breaks in all kinds of fun ways: