fork download
  1. class Cliente:
  2. def __init__(self, n, e):
  3. self.nome = n
  4. self.endereco = e
  5.  
  6. def __str__(self): return "{}, {}".format(self.nome,
  7. self.endereco)
  8.  
  9. class PFisica(Cliente):
  10. def __init__(self, n, e, c):
  11. super().__init__(n,e)
  12. self.__cpf = c
  13.  
  14. def __str__(self):
  15. r = super().__str__()
  16. return "{}, {}".format(r, self.__cpf)
  17.  
  18. class PJuridica(Cliente):
  19. def __init__(self, n, e, c):
  20. super().__init__(n,e)
  21. self.__cnpj = c
  22.  
  23. def __str__(self):
  24. r = super().__str__()
  25. return "{}, {}".format(r, self.__cnpj)
  26.  
  27. class Conta:
  28.  
  29. def __init__(self, c, l, s):
  30. self.cliente = c
  31. self.login = l
  32. self.__senha = s
  33.  
  34. def login(self, senha):
  35. return self.__senha == senha
  36.  
  37. class Carrinho:
  38.  
  39. def __init__(self, c):
  40. self.data = '16/09/2019'
  41. self.produtos = []
  42. self.conta = c
  43.  
  44. def __str__(self):
  45. r = ''
  46. for e in self.produtos:
  47. r += str(e) + '\n'
  48. return r
  49.  
  50. def listarProdutos(self):
  51. return self.produtos
  52.  
  53. class Produto:
  54.  
  55. def __init__(self, n, v):
  56. self.nome = n
  57. self.preco = v
  58.  
  59. def __str__(self): return "{},{}".format(self.nome,
  60. self.preco)
  61.  
  62. class Backup:
  63.  
  64. def __init__(self, a):
  65. self.arqBkp = a
  66.  
  67. def salvarArq(self):
  68. print("Salvar Arq Backup!")
  69.  
  70. class CarrinhoBkp(Carrinho, Backup):
  71.  
  72. def __init__(self, c, a):
  73. Backup.__init__(self, a)
  74. Carrinho.__init__(self, c)
  75. self.DataBeckup = '16/09/2019'
  76.  
  77. def salvarArq(self):
  78. print("Salvar Arq CarrinhoBkp!")
  79.  
  80. #Item 1
  81. print("Item 1")
  82. cPF1 = PFisica('A','Rua...','000000')
  83. cPJ1 = PJuridica('A','Rua...', '11111')
  84.  
  85. conta1 = Conta(cPF1, 'l1','s1')
  86. conta2 = Conta(cPJ1, 'l2','s2')
  87.  
  88. c1 = Carrinho(conta1)
  89. c2 = Carrinho(conta2)
  90.  
  91. p1 = Produto('P1',10)
  92. p2 = Produto('P2',15)
  93. p3 = Produto('P3',1)
  94.  
  95. c1.produtos.append(p1)
  96. c1.produtos.append(p2)
  97. c1.produtos.append(p3)
  98.  
  99. c2.produtos.append(p1)
  100. c2.produtos.append(p2)
  101. c2.produtos.append(p3)
  102.  
  103. for e1 in [c1,c2]:
  104. p = e1.listarProdutos()
  105. for e2 in p :
  106. print(e2)
  107.  
  108. #Item2
  109. print("\nItem 2")
  110. cbkp1 = CarrinhoBkp(conta1, 'arq.bkp')
  111. cbkp1.produtos.append(p2)
  112. cbkp1.produtos.append(p3)
  113.  
  114. print(cbkp1.conta.cliente.nome)
  115. print(cbkp1.conta.cliente.endereco)
  116. cbkp1.salvarArq()
  117. # your code goes here
Success #stdin #stdout 0.02s 9148KB
stdin
Standard input is empty
stdout
Item 1
P1,10
P2,15
P3,1
P1,10
P2,15
P3,1

Item 2
A
Rua...
Salvar Arq CarrinhoBkp!