We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
- Prepare
- Python
- Debugging
- Default Arguments
- Discussions
Default Arguments
Default Arguments
Sort by
recency
|
197 Discussions
|
Please Login in order to post a comment
class EvenStream(object): def init(self): self.current = 0
class OddStream(object): def init(self): self.current = 1
def print_from_stream(n, stream=None): if stream is None: stream = EvenStream() for _ in range(n): print(stream.get_next())
raw_input = input
queries = int(input()) for _ in range(queries): stream_name, n = input().split() n = int(n) if stream_name == "even": print_from_stream(n) else: print_from_stream(n, OddStream())
def print_from_stream(n, stream=None): if stream is None: stream = EvenStream() for _ in range(n): print(stream.get_next())
Why does the problem say "the task is to debug the existing code" when there is no existing code at all?
I am extremely cconfused by the problem saying "the task is to debug the existing code". It makes me think I don't need to define OddStream etc. myself. Why not just say define your own OddStream, EvenStream etc. and produce expected output???
It work perfect after adding stream.init() to reset current variable.
def print_from_stream(n, stream=EvenStream()):