Advertisement
tsounakis

bbmod

Nov 23rd, 2019
336
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.71 KB | None | 0 0
  1. #πιθανή εκδοχή του bbm (bus booking module), για την εργασία
  2. from random import random
  3.  
  4. #κλάση Πελάτης (συλλογή και τύπωση δεδομένων του πελάτη)
  5. class client():
  6.     def __init__(self, _NAME_, _AGE_, _DEST_):
  7.         self.name = _NAME_
  8.         self.age = _AGE_
  9.         self.destination = _DEST_
  10.     def __str__(self):
  11.         return str('Όνομα πελάτη: ' + self.name + '\nΗλικία: ' + str(self.age) + '\nΠροορισμός: ' + self.destination)
  12.  
  13. #υποκλάση της κλάσης Πελάτης (η ίδια, αλλά δηλώνεις και πάσο)
  14. class student_client(client):
  15.     def __init__(self, _NAME_, _AGE_, _DEST_, _PASS_):
  16.         super().__init__(_NAME_, _AGE_, _DEST_)
  17.         self.passUni = _PASS_
  18.     def __str__(self):
  19.         return str('Όνομα πελάτη: ' + self.name+ '\nΗλικία: ' + str(self.age) + '\nΠροορισμός ' + self.destination + '\nΑριθμός Ακαδημαϊκής Ταυτότητας: ' + str(self.passUni))
  20.  
  21. #κλάση Μεταφορικού Μέσου
  22. class bus():
  23.     def __init__(self, _INPUT_FILE_ = (open('destinations.txt', 'r', encoding = 'UTF-8'))):
  24.         self.seats = 50
  25.         self.numOfSeats = 0
  26.         self.f = _INPUT_FILE_
  27.         self.aseats = []
  28.         self.destinations = []
  29.         destNum = sum(1 for line in self.f)
  30.         self.f.seek(0, 0)
  31.         for line in self.f:
  32.             town = line.split(' ')
  33.             town = str(town[-1].rstrip())
  34.             self.destinations.append(town)
  35.         for i in range(1, self.seats + 1):
  36.             if random() > 1/2:
  37.                 self.aseats.append('ΜΗ Διαθέσιμη')
  38.                 self.numOfSeats += 1
  39.             else: self.aseats.append('Διαθέσιμη')
  40.     def showSchedule(self):         #δείχνει τα δρομολόγια
  41.         for i in self.destinations:
  42.             print('Πάτρα - ' + i)
  43.     def showAvailSeats(self):       #δείχνει τις διαθέσιμες θέσεις
  44.         for i in range(1, (self.seats + 1), 2):
  45.             print('Θέση ' + str(i) + ': ' + self.aseats[i] + '\t Θέση ' + str(i + 1) + ': ' + self.aseats[i])
  46.         print('Διαθέσιμες θέσεις συνολικά: ' + str(self.numOfSeats))
  47.  
  48.  
  49.  
  50.  
  51. #στο ίδιo directory με το module να βάλετε σε txt τα παρακάτω (χωρίς τα #), για να το δοκιμάσετε
  52. #ATH = Αθήνα
  53. #THE = Θεσσαλονίκη
  54. #PAT = Πάτρα
  55. #VOL = Βόλος
  56. #KSA = Ξάνθη
  57. #IOA = Ιωάννινα
  58. #TRI = Τρίπολη
  59. #MES = Μεσολόγγι
  60. #KOR = Κόρινθος
  61. #ALE = Αλεξανδρούπολη
  62. #AIG = Αίγιο
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement