renix1

More class with python 3.x

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