Advertisement
Guest User

Untitled

a guest
Dec 12th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.11 KB | None | 0 0
  1. import re
  2. import sys
  3.  
  4. if len(sys.argv)!=2:
  5. print("Igrica je neuspesno pozvana")
  6. exit()
  7.  
  8. # "/home/jana/Documents/Fakultet/3. godina/Leksicka analiza/leksicka_kol_2017" ocekujemo da putanja bude ovog oblika, "" moraju ako postoje razmaci
  9. path = sys.argv[1]
  10.  
  11.  
  12. positive_tests = []
  13. positive_examples = []
  14. negative_tests = []
  15. negative_examples = []
  16.  
  17. n = 1
  18. while True:
  19. # ovo su imena (zajedno sa putanjama!) fajlova koje treba otvoriti ukoliko postoje
  20. # prvi put kada neki fajl ne postoji, hvatamo izuzetak i izlazimo iz petlje
  21. # sve vreme cuvamo u n koliko imamo fajlova, i nakon petlje n smanjimo za 1
  22. file1_name = path+"/positive_test_"+str(n)+".txt"
  23. file2_name = path+"/negative_test_"+str(n)+".txt"
  24. try:
  25. f = open(file1_name, "r")
  26. except IOError:
  27. break
  28. positive_tests.append(f.read())
  29. positive_tests[n-1] = re.sub("(\s|\n)+", " ", positive_tests[n-1])
  30. positive_examples.append(re.split(" ", positive_tests[n-1]))
  31. f.close()
  32. try:
  33. f = open(file2_name, "r")
  34. except IOError:
  35. break
  36. negative_tests.append(f.read())
  37. negative_tests[n-1] = re.sub("(\s|\n)+", " ",negative_tests[n-1])
  38. negative_examples.append(re.split(" |\n", negative_tests[n-1]))
  39. n += 1
  40. f.close()
  41.  
  42. n -= 1
  43.  
  44. def turn(i):
  45. points = 0
  46. mistakes = []
  47. print("Pozitivni test primeri su: ")
  48. print(positive_tests[i])
  49. print("Negativni test primeri su: ")
  50. print(negative_tests[i])
  51. regExp = raw_input("Vas odgovor je: ")
  52. for example in positive_examples[i]:
  53. if example == "":
  54. continue
  55. if re.search(regExp, example)!=None:
  56. points += 10
  57. else:
  58. mistakes.append(example)
  59.  
  60. for example in negative_examples[i]:
  61. if re.search(regExp, example)!=None:
  62. mistakes.append(example)
  63. points -= 10
  64.  
  65. points -= len(regExp)
  66. if len(mistakes)==0:
  67. print("Tacno!")
  68. else:
  69. print(len(mistakes))
  70. print("Netacno. Vase greske su u primerima: ")
  71. for mistake in mistakes:
  72. print(mistake+" ")
  73. print("Vas broj poena je "+str(points)+".")
  74. return points
  75.  
  76. result = 0
  77. for i in range(n):
  78. result += turn(i)
  79.  
  80. print("Ukupan broj poena je "+str(result))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement