1616 3 - Método virar a esquerda
1717 Obs. Norte (Cima), Sul (Baixo), Leste(Esquerda), Oeste(Direita)
1818
19- """
2019
2120"""
22- Estudo de composição
23- """
21+
22+
23+ #Estudo de composição
24+
2425
2526class Carro :
26- pass
27+
28+ def __init__ (self , direcao , motor ):
29+ self .direcao = direcao
30+ self .motor = motor
31+
32+
33+ def calcular_velocidade (self ):
34+ return self .motor .velocidade
35+
36+
37+ def acelerar (self ):
38+ self .motor .acelerar ()
39+
40+
41+ def frear (self ):
42+ self .motor .frear ()
43+
44+
45+ def sendito (self ):
46+ return self .direcao .sentido
47+
48+
49+ def virar_a_direita (self ):
50+ return self .direcao .virar_a_direita ()
51+
52+
53+ def virar_a_esquerda (self ):
54+ return self .direcao .virar_a_esquerda ()
55+
2756
2857class Motor :
29- def __init_ (self ):
58+
59+ def __init__ (self ):
3060 self .velocidade = 0
3161
62+
3263 def acelerar (self ):
3364 self .velocidade += 1
65+ return f'Acelerando. Velocidade: { self .velocidade } '
66+
3467
3568 def frear (self ):
36- self .velocidade -= 1
69+ self .velocidade -= 2
3770
3871 if self .velocidade < 0 :
3972 self .velocidade = 0
4073
74+ return f'Freando. Velocidade atual: { self .velocidade } '
75+
76+
4177class Direcao :
4278 direcoes_possiveis = ('Norte' , 'Leste' , 'Sul' , 'Oeste' )
4379
44- def __init__ (self ):
45- self .sentido = 'Norte'
80+ def __init__ (self , sentido = 'Norte' ):
81+ self .sentido = sentido
82+
4683
4784 def virar_a_direita (self ):
4885 indice = self .direcoes_possiveis .index (self .sentido )
@@ -61,16 +98,34 @@ def virar_a_esquerda(self):
6198 self .sentido = self .direcoes_possiveis [indice - 1 ]
6299
63100
64- if __name__ == '__name__' :
101+ if __name__ == '__main__' :
102+
103+ #Teste classe Direção
104+ """
105+ m = Motor()
106+ print(m.acelerar())
107+ print(m.acelerar())
108+ print(m.acelerar())
109+ print(m.frear())
110+ print(m.frear())
111+ print(m.frear())
112+
65113
114+ #Teste classe Direção
115+
66116 d = Direcao()
67117
68118 print(d.direcoes_possiveis, d.sentido)
69119 for item in range(5):
70120 d.virar_a_direita()
71- print (d .direcoes_possiveis , 'Direita' , d .sentido )
121+ print(d.direcoes_possiveis, 'Direita ', d.sentido)
72122
73123 for item in range(5):
74124 d.virar_a_esquerda()
75125 print(d.direcoes_possiveis, 'Esquerda', d.sentido)
126+ """
76127
128+ carro = Carro (Direcao (), Motor ())
129+ print (carro .calcular_velocidade )
130+ carro .acelerar ()
131+ carro .frear ()
0 commit comments