Dies ist unser erster Versuch.

beleg.py 3.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import sys
  2. import re #Regulaere Ausdruecke zur Filterung von Texten oder Textstrings.
  3. from math import sqrt
  4. import logging #Die verwendete Funktionen werden definiert.
  5. logging.debug('This is debug message')
  6. logging.info('This is info message')
  7. logging.warning('This is warning message')
  8. print "********************************************************************************"
  9. print "Dieses Programm verwendet man zur Berechnung der Distanz zweier Orte in Deutschland."
  10. print "********************************************************************************"
  11. print "Programmierer : Zhu,Hongrui"
  12. print " Chen,Sizi"
  13. print " Hu,Fangyu"
  14. print ""
  15. def rechnen():#Der ganze Prozess wird als eine Funktion definiert.
  16. Ort = raw_input("Bitte geben Sie den Namen des ersten Ortes ein:")#Eingabe des Namen
  17. lesen = open('DE.tab',"r")#De.tab wird geoeffnet und kann nur lesen werden.
  18. lines = lesen.readlines()#DE.tab wird in lines geoeffnet.
  19. b=[] #Eine leere List wird definiert.
  20. i=0
  21. print ""
  22. for line in lines :
  23. if re.search(Ort,line):#Der eingegebene Name wird durchgesucht.
  24. i=i+1
  25. a=re.split('\t',line)#Jede Line wird als eine List sein.Wenn zwischen zwei Elementen ein Leerzeichen liegt,werden sie eingeteilt.
  26. print i,a[3]#Die korrekten Orte und ihre geographishcen Lagen werden ausgegeben.
  27. b.append(a)#Die korrekten Orte werden in der definierten List eingefuellt.
  28. print ""
  29. eingabe =input("Welches Ort wollen Sie nehmen ? ")#Die Wahl eines bestimmten Ort.
  30. c = len(b)#Die Anzahl der Elementen von eingefuellter List.
  31. for i in range(1,c):
  32. if eingabe ==i+1:
  33. Ort1 = b[i]#Der erste Ort ist bestimmt.
  34. print ""#Die Suche wird wiederholt.
  35. Ort = raw_input("Bitte geben Sie den Namen des zweiten Ortes ein:")
  36. lesen = open('DE.tab',"r")
  37. lines = lesen.readlines()
  38. f=[]
  39. i=0
  40. print ""
  41. for line in lines :
  42. if re.search(Ort,line):
  43. i=i+1
  44. g=re.split('\t',line)
  45. print i,g[3]
  46. f.append(g)
  47. print ""
  48. eingabe =input("Welches Ort wollen Sie nehmen ? ")
  49. j = len(f)
  50. for i in range(1,j):
  51. if eingabe ==i+1:
  52. Ort2 = f[i]#Der zweite Ort ist bestimmt.
  53. print ""
  54. #Die Gleichung zur Berechnung.
  55. lat1 = float(Ort1[5])#Longitude des ersten Ort.
  56. lon1 = float(Ort1[4])#Latitude des ersten Ort.
  57. lat2 = float(Ort2[5])#Longitude des zweiten Ort.
  58. lon2 = float(Ort2[4])#Latitude des zweiten Ort.
  59. dx = 111.3*0.64*(lon1-lon2)
  60. dy = 71.5*(lat1-lat2)
  61. Distanz = sqrt(dx*dx+dy*dy)#Die Distanz wird gerechnet.
  62. print "Erster eingegebene Ort:",Ort1[3],"Latitude:",Ort1[4],"Longitude:",Ort1[5]#Ausgabe des ersten Orts.
  63. print "Zweiter eingegebene Ort:",Ort2[3],"Latitude:",Ort2[4],"Longitude:",Ort2[5]#Ausgabe des zweiten Orts.
  64. print "Die Distanz zwischen",Ort1[3],"und",Ort2[3],"betraegt:{0}".format(Distanz)+"km"#Ausgabe der zwei Orte in zwei dezimalstellen.
  65. rechnen()
  66. print ""
  67. print "Was wollen Sie machen?"#Eine menue zur Wahl
  68. print "1. Nochmal rechnen"
  69. print "2. Beenden"
  70. antwort = input("Ihre Wahl:")
  71. if antwort == 1 :
  72. rechnen()
  73. elif antwort == 2 :
  74. print "Danke fuer Ihre Verwendung!"