_andrea_

Untitled

Jul 19th, 2022 (edited)
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.77 KB | None | 0 0
  1. class Agenda:
  2.     def __init__(self, nome, cognome, contatti = [], appuntamenti = []):
  3.         self.nome = nome
  4.         self.cognome = cognome
  5.         self.contatti = contatti
  6.         self.appuntamenti = appuntamenti
  7.  
  8.     def carica_appuntamenti(self, file):
  9.         f = open(file, 'r', encoding = 'utf-8')
  10.         s = f.readlines()
  11.         f.close()
  12.         for linea in s:
  13.             data, ora, luogo, motivo = [i.strip() for i in linea.split(',')]
  14.             self.appuntamenti.append(Appuntamento(data, ora, luogo, motivo))
  15.  
  16.     def stampa_appuntamenti(self):
  17.         for appuntamento in self.appuntamenti:
  18.             print(appuntamento)
  19.  
  20.     def appuntamenti_per_data(self, data):
  21.         appuntamenti = []
  22.         for appuntamento in self.appuntamenti:
  23.             if appuntamento.data == data:
  24.                 appuntamenti.append(appuntamento)
  25.         return appuntamenti
  26.  
  27.     def conta_luogo(self, luogo):
  28.         c = 0
  29.         for appuntamento in self.appuntamenti:
  30.             if appuntamento.luogo == luogo:
  31.                 c += 1
  32.         return c
  33.  
  34.  
  35. class Appuntamento:
  36.     def __init__(self, data, ora, luogo, motivo):
  37.         self.data = data
  38.         self.ora = ora
  39.         self.luogo = luogo
  40.         self.descrizione = motivo
  41.  
  42.     def __str__(self):
  43.         return f'{self.data} {self.ora}, {self.luogo}. Motivo: {self.descrizione}'
  44.  
  45.  
  46. agenda = Agenda('Marco', 'Rossi')
  47. agenda.carica_appuntamenti('appuntamenti.txt')
  48. agenda.stampa_appuntamenti()
  49. print(agenda.conta_luogo('università'))
  50. print(agenda.appuntamenti_per_data('19/07/2022'))
  51.  
  52.  
  53. '''
  54. Esempio appuntamenti.txt:
  55. 20/07/2022, 16:45, università, studiare
  56. 22/07/2022, 16:45, università, studiare
  57. 19/07/2022, 10:00, università, esame informatica
  58. 19/07/2022, 17:00, dentista, visita
  59.  
  60. '''
Add Comment
Please, Sign In to add comment