Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.42 KB | None | 0 0
  1. print("Timofejs Jegorkins 181RDB331")
  2.  
  3.  
  4. class AutoMasina:
  5. Vards = ""
  6. Uzvards = ""
  7. DzDatums = ""
  8. num = ""
  9. atzime = 0
  10.  
  11. def get_age(self):
  12. return 2019 - int(self.DzDatums[6:])
  13.  
  14. def print(self):
  15. print("Vards: {},\tUzvards: {},\tDzDatums: {},\tnum: {},\tatzime: {}".format(self.Vards, self.Uzvards, self.DzDatums, self.num, str(self.atzime)))
  16.  
  17.  
  18. def get_int(string):
  19. print(string)
  20. line = input()
  21. try:
  22. value = int(line)
  23. return value
  24. except ValueError:
  25. print("Ievadiet tikai veselus skaitlus.")
  26. return get_int(string)
  27.  
  28.  
  29. def open_file():
  30. print("Enter the datafile name: ")
  31. file_name = str(input())
  32. try:
  33. data_file = open(file_name, 'r')
  34. return data_file
  35. except IOError:
  36. print("Invalid file name or path, try again!")
  37. open_file()
  38.  
  39.  
  40. def main():
  41. data_file = open_file()
  42. error_file = open("err.txt", 'w')
  43.  
  44. hz = []
  45.  
  46. line = data_file.readline()
  47. cnt = 1
  48.  
  49. while line:
  50. data_values = line.split(';')
  51.  
  52. if len(data_values) <= 0:
  53. line = data_file.readline()
  54. cnt += 1
  55. continue
  56.  
  57. data_values[0] = " ".join(data_values[0].split())
  58. for i in range(1, len(data_values)):
  59. data_values[i].replace(" ", "")
  60.  
  61. if len(data_values) < 6:
  62. error_file.write("Line {}: Contains too few arguments\n".format(cnt))
  63. line = data_file.readline()
  64. cnt += 1
  65. continue
  66. if len(data_values) > 6:
  67. error_file.write("Line {}: Contains too many arguments\n".format(cnt))
  68. line = data_file.readline()
  69. cnt += 1
  70. continue
  71.  
  72. try:
  73. f = int(data_values[4])
  74. if f < 0:
  75. error_file.write("Line {}: Invalid mileage entered !\n".format(cnt))
  76. line = data_file.readline()
  77. cnt += 1
  78. continue
  79. except ValueError:
  80. error_file.write("Line {}: Invalid mileage entered !\n".format(cnt))
  81. line = data_file.readline()
  82. cnt += 1
  83. continue
  84.  
  85. appl = AutoMasina()
  86. appl.Vards = data_values[0]
  87. appl.Uzvards = data_values[1]
  88. appl.DzDatums = data_values[2]
  89. appl.num = data_values[3]
  90. appl.atzime = int(data_values[4])
  91.  
  92. hz.append(appl)
  93.  
  94. line = data_file.readline()
  95. cnt += 1
  96.  
  97. for appl in hz:
  98. appl.print()
  99.  
  100. data_file.close()
  101. error_file.close()
  102.  
  103. while True:
  104. option = get_int("1. Atrast studentu, apliecibas numuru kurs atbilst lietotajam; 2. Atrast pec uzvarda; 3. Sakartot atzimi pec augosas secibas; 4. Exit.")
  105. if option == 4:
  106. break
  107. if option == 1:
  108. print("Ievadiet apliecibas numuru: ")
  109. line = str(input())
  110. for appl in hz:
  111. if appl.num == line:
  112. appl.print()
  113. if option == 2:
  114. print("Ievadiet uzvardu: ")
  115. line = str(input())
  116. for appl in hz:
  117. if appl.Uzvards == line:
  118. appl.print()
  119. if option == 3:
  120. count = get_int("Atzime: ")
  121. for appl in hz:
  122. if appl.atzime == count:
  123. appl.print()
  124.  
  125.  
  126. if __name__ == "__main__":
  127. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement