Skip to content

Commit 0c544a8

Browse files
author
renzon
committed
Incluido doctest e código para Trem com padrão GOF
1 parent bab096b commit 0c544a8

File tree

3 files changed

+34
-0
lines changed

3 files changed

+34
-0
lines changed

trens/README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#Esse arquvivo documeta o comportamento de um Trem
2+
3+
```python
4+
>>> from trens.trem_gof import Trem
5+
>>> t = Trem(4)
6+
>>> for vagao in t:
7+
... print(vagao)
8+
vagao #1
9+
vagao #2
10+
vagao #3
11+
vagao #4
12+
13+
```

trens/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# -*- coding: utf-8 -*-
2+
from __future__ import absolute_import, unicode_literals

trens/trem_gof.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
class Trem:
2+
def __init__(self, num_vagoes):
3+
self.num_vagoes = num_vagoes
4+
5+
def __iter__(self):
6+
return IteradorTrem(self.num_vagoes)
7+
8+
9+
class IteradorTrem:
10+
def __init__(self, num_vagoes):
11+
self.atual = 0
12+
self.ultimo_vagao = num_vagoes - 1
13+
14+
def __next__(self):
15+
if self.atual <= self.ultimo_vagao:
16+
self.atual += 1
17+
return 'vagao #%s' % (self.atual)
18+
else:
19+
raise StopIteration()

0 commit comments

Comments
 (0)