renix1

Class with python 3.x

Sep 2nd, 2016
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.74 KB | None | 0 0
  1. # coding: utf-8
  2.  
  3. class Carro(object):
  4.     #variaveis que todos carros irão conter, mesmo que não tenham sido declaradas.
  5.     km_rodado = 0
  6.     reserva = 1
  7.     def __init__(self, nome, ano, placa, vida_pneus, motor, tanque):
  8.         self.nome = nome
  9.         self.ano = ano
  10.         self.placa = placa
  11.         self.vida_pneus = vida_pneus
  12.         self.motor = motor
  13.         self.tanque = tanque #Tanque suporta até %d litros, no caso do exemplo é 46 litros.
  14.  
  15.     def checar_condicao_carro(self):
  16.         #checagem de pneus
  17.         if self.vida_pneus >= 60:
  18.             print("\t\t\tOs seus penus estão em ordem!\n")
  19.         elif self.vida_pneus >= 40 and self.vida_pneus < 60:
  20.             print("\t\t\tA vida de seus pneus estão caindo...\n")
  21.         elif self.vida_pneus >= 20 and self.vida_pneus <= 40:
  22.             print("\t\t\tComece a ficar preocupado...\n\t\tIremos avisar caso a vida do pneu esteja próxima do fim!\n")
  23.         elif self.vida_pneus >= 10 and self.vida_pneus < 20:
  24.             print("\t\t\tJá está na hora de comprar outro pneu!\n")
  25.         elif self.vida_pneus >= 0 and self.vida_pneus < 10:
  26.             print("\tEstá é a penúltima vez que iremos avisar-lo, troque-o urgente\n")
  27.         #checagem da gasolina
  28.         if self.tanque < 0:
  29.             self.tanque = 0
  30.         print("\t\t\t\tTanque: %.2f litros" % (self.tanque))
  31.         if self.tanque >= 50:
  32.             print("\t\t\t\tDe gasolina está bom!\n")
  33.         elif self.tanque >= 30 and self.tanque < 50:
  34.             print("\t\t\tA gasolina está se esvaindo...\n")
  35.         elif self.tanque >= 15 and self.tanque < 30:
  36.             print("\t\t\tRecomendamos encher o tanque!\n")
  37.         elif self.tanque > 0 and self.tanque < 15:
  38.             print("\t\t\tEncha o tanque o mais rápido possível!\n")
  39.         elif self.tanque == 0:
  40.             print("\t\t\t\tSua gasolina acabou!\n")
  41.  
  42.     def dirigir(self, km_rodado):
  43.         #Variáveis locais
  44.         gasolina_gasta = 0
  45.         troca_ocorreu = False
  46.         #Resto do programa
  47.         if km_rodado < 1:
  48.             pass
  49.         else:
  50.             if self.tanque < 0:
  51.                 print("A gasolina de seu carro acabou!\n")
  52.             else:
  53.                 if km_rodado%11==0:
  54.                     gasolina_gasta=km_rodado*0.095
  55.                     self.tanque-=gasolina_gasta
  56.                 else:
  57.                     gasolina_gasta=km_rodado*0.094
  58.                     self.tanque-=gasolina_gasta
  59.                 print("\t\t\tO carro andou %.2f km(s)\n" % (km_rodado))
  60.                 print("\t\t\tO seu carro consumiu %.2fL de gasolina!" % (gasolina_gasta))
  61.                 if self.vida_pneus > 0:
  62.                     self.vida_pneus-=10
  63.                 elif self.vida_pneus == 0:
  64.                     print("\t\tO pneu de seu carro estourou!\n\t\t\tTrocando pneu por um reserva")
  65.                     if self.reserva == 1:
  66.                         troca_ocorreu = True
  67.                         self.vida_pneus = 100
  68.                     else:
  69.                         print("Você já usou seu pneu reserva!\n")
  70.                 if troca_ocorreu == False:
  71.                     print("\tCom o andar do carro o pneu desgastou-se, agora a vida dele está %d%%." % (self.vida_pneus))
  72.                     self.checar_condicao_carro()
  73.                 else:
  74.                     print("\t\t\tTestando pneu...\n")
  75.  
  76.  
  77.  
  78. def main():
  79.     #celta = Carro("Celta", 2014, "DUH-3212", 100.0, 1.4, 46) #carro default
  80.     nome_carro = input("Digite o nome do seu carro: ")
  81.     nome_carro = nome_carro.title()
  82.     ano_carro = int(input("Digite o ano do seu carro: "))
  83.     placa_carro = input("ex: XXX-2013\nDigite a placa do carro: ")
  84.     letras = placa_carro[:3]
  85.     hifen = placa_carro[3:4]
  86.     digitos = placa_carro[4:]
  87.     if len(placa_carro) < 8:
  88.         print("Inválido!")
  89.         quit()
  90.     else:
  91.         if letras.isalpha():
  92.             if hifen == '-':
  93.                 if len(digitos) == 4:
  94.                     pass
  95.         else:
  96.             print("Inválido!\n")
  97.     vida_pneus = 100
  98.     motor = float(input("Motor do carro: "))
  99.     tanque_max = int(input("Tanque máximo do carro: "))
  100.     carro_usuario = Carro(nome_carro, ano_carro, placa_carro, vida_pneus, motor, tanque_max)
  101.     print("\033[1;31mVocê está de %s " % (carro_usuario.nome))
  102.     while True:
  103.         print("\n\t\t\t\033[1;39mBem vindo ao exercício sobre Carro\033[1;33m\n")
  104.         acao = input("\t\t<dirigir km> é uma ação, caso queira realizar-la: ")
  105.         kms = acao[8::]
  106.         if acao[:7:] == "dirigir":
  107.             carro_usuario.dirigir(int(kms))
  108.         else:
  109.             print("Ação não computada!\n")
  110. try:
  111.     main()
  112. except Exception as e:
  113.     print("Exception:", e)
  114. except KeyboardInterrupt:
  115.     print("\nSaindo do programa\n")
Advertisement
Add Comment
Please, Sign In to add comment