Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # coding: utf-8
- class Carro(object):
- #variaveis que todos carros irão conter, mesmo que não tenham sido declaradas.
- km_rodado = 0
- reserva = 1
- def __init__(self, nome, ano, placa, vida_pneus, motor, tanque):
- self.nome = nome
- self.ano = ano
- self.placa = placa
- self.vida_pneus = vida_pneus
- self.motor = motor
- self.tanque = tanque #Tanque suporta até %d litros, no caso do exemplo é 46 litros.
- def checar_condicao_carro(self):
- #checagem de pneus
- if self.vida_pneus >= 60:
- print("\t\t\tOs seus penus estão em ordem!\n")
- elif self.vida_pneus >= 40 and self.vida_pneus < 60:
- print("\t\t\tA vida de seus pneus estão caindo...\n")
- elif self.vida_pneus >= 20 and self.vida_pneus <= 40:
- print("\t\t\tComece a ficar preocupado...\n\t\tIremos avisar caso a vida do pneu esteja próxima do fim!\n")
- elif self.vida_pneus >= 10 and self.vida_pneus < 20:
- print("\t\t\tJá está na hora de comprar outro pneu!\n")
- elif self.vida_pneus >= 0 and self.vida_pneus < 10:
- print("\tEstá é a penúltima vez que iremos avisar-lo, troque-o urgente\n")
- #checagem da gasolina
- if self.tanque < 0:
- self.tanque = 0
- print("\t\t\t\tTanque: %.2f litros" % (self.tanque))
- if self.tanque >= 50:
- print("\t\t\t\tDe gasolina está bom!\n")
- elif self.tanque >= 30 and self.tanque < 50:
- print("\t\t\tA gasolina está se esvaindo...\n")
- elif self.tanque >= 15 and self.tanque < 30:
- print("\t\t\tRecomendamos encher o tanque!\n")
- elif self.tanque > 0 and self.tanque < 15:
- print("\t\t\tEncha o tanque o mais rápido possível!\n")
- elif self.tanque == 0:
- print("\t\t\t\tSua gasolina acabou!\n")
- def dirigir(self, km_rodado):
- #Variáveis locais
- gasolina_gasta = 0
- troca_ocorreu = False
- #Resto do programa
- if km_rodado < 1:
- pass
- else:
- if self.tanque < 0:
- print("A gasolina de seu carro acabou!\n")
- else:
- if km_rodado%11==0:
- gasolina_gasta=km_rodado*0.095
- self.tanque-=gasolina_gasta
- else:
- gasolina_gasta=km_rodado*0.094
- self.tanque-=gasolina_gasta
- print("\t\t\tO carro andou %.2f km(s)\n" % (km_rodado))
- print("\t\t\tO seu carro consumiu %.2fL de gasolina!" % (gasolina_gasta))
- if self.vida_pneus > 0:
- self.vida_pneus-=10
- elif self.vida_pneus == 0:
- print("\t\tO pneu de seu carro estourou!\n\t\t\tTrocando pneu por um reserva")
- if self.reserva == 1:
- troca_ocorreu = True
- self.vida_pneus = 100
- else:
- print("Você já usou seu pneu reserva!\n")
- if troca_ocorreu == False:
- print("\tCom o andar do carro o pneu desgastou-se, agora a vida dele está %d%%." % (self.vida_pneus))
- self.checar_condicao_carro()
- else:
- print("\t\t\tTestando pneu...\n")
- def main():
- #celta = Carro("Celta", 2014, "DUH-3212", 100.0, 1.4, 46) #carro default
- nome_carro = input("Digite o nome do seu carro: ")
- nome_carro = nome_carro.title()
- ano_carro = int(input("Digite o ano do seu carro: "))
- placa_carro = input("ex: XXX-2013\nDigite a placa do carro: ")
- letras = placa_carro[:3]
- hifen = placa_carro[3:4]
- digitos = placa_carro[4:]
- if len(placa_carro) < 8:
- print("Inválido!")
- quit()
- else:
- if letras.isalpha():
- if hifen == '-':
- if len(digitos) == 4:
- pass
- else:
- print("Inválido!\n")
- vida_pneus = 100
- motor = float(input("Motor do carro: "))
- tanque_max = int(input("Tanque máximo do carro: "))
- carro_usuario = Carro(nome_carro, ano_carro, placa_carro, vida_pneus, motor, tanque_max)
- print("\033[1;31mVocê está de %s " % (carro_usuario.nome))
- while True:
- print("\n\t\t\t\033[1;39mBem vindo ao exercício sobre Carro\033[1;33m\n")
- acao = input("\t\t<dirigir km> é uma ação, caso queira realizar-la: ")
- kms = acao[8::]
- if acao[:7:] == "dirigir":
- carro_usuario.dirigir(int(kms))
- else:
- print("Ação não computada!\n")
- try:
- main()
- except Exception as e:
- print("Exception:", e)
- except KeyboardInterrupt:
- print("\nSaindo do programa\n")
Advertisement
Add Comment
Please, Sign In to add comment