Handlungsreisender-in-Deutschland-analyse.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. """ Dieses Script analysiert die Verteilung der Längen der Routen. Diese müssen
  4. durch "Entfernungen.txt" gegeben sein.
  5. """
  6. print("Beginne alle Routen zu lesen.")
  7. f = open('/home/moose/mathe/Entfernungen.txt', 'r')
  8. lines = f.readlines()
  9. f.close()
  10. print("Alle Routen wurden eingelesen.")
  11. number = length = 0
  12. minimum= int(lines[0])
  13. maximum= int(lines[0])
  14. liste = []
  15. dict_entfernungen = {}
  16. for line in lines:
  17. line = int(line)
  18. if line in dict_entfernungen:
  19. dict_entfernungen[line] += 1
  20. else:
  21. dict_entfernungen[line] = 1
  22. liste.append(line)
  23. number += 1
  24. length += line
  25. if line < minimum:
  26. minimum = line
  27. if line > maximum:
  28. maximum = line
  29. print("Minimum: %i" % minimum)
  30. print("Maximum: %i" % maximum)
  31. print("Durchschnitt: %i" % (length/number))
  32. print("Anzahl der Routen: %i" % number)
  33. less_than2069 = 0.0
  34. for length, count in dict_entfernungen.items():
  35. if length <= 2068:
  36. less_than2069 += count
  37. print("maximale Abweichung von 5%%: %f %% aller Strecken" % (less_than2069/number*100))
  38. EntfernungsSet = set(liste)
  39. print("Anzahl der verschiedenen Streckenlängen: %i" % len(dict_entfernungen))
  40. import math, pylab
  41. x_list = []
  42. y_list = []
  43. for x, y in dict_entfernungen.items():
  44. y_list.append(y)
  45. x_list.append(x)
  46. pylab.xlabel("Streckenlange in km")
  47. pylab.ylabel("Anzahl der Routen")
  48. pylab.plot(x_list, y_list, 'b')
  49. # Einzeichnen des Durchschnitts:
  50. y_max = max(y_list)
  51. x_list = []
  52. y_list = []
  53. y_list.append(0)
  54. x_list.append((length/number))
  55. y_list.append(y_max)
  56. x_list.append((length/number))
  57. pylab.plot(x_list, y_list, 'r')
  58. pylab.savefig('Fig1.png')
  59. pylab.show()